Сделать панель инструментов Android видимой в activity_main.xml
Я пытаюсь включить панель инструментов в свое приложение, но у меня проблемы с ее видимостью. Я хотел бы добавить панель инструментов в activity_main.xml, которая предоставляется
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:id="@+id/MainActivity"
android:clickable="true"
android:background="@color/BLACK"
tools:context=".MainActivity">
<include
android:id="@+id/toolbar"
android:layout_alignParentTop="true"
layout="@layout/activity_toolbar"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="OFF"
android:id="@+id/OFF"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:textSize="150dp"
android:textColor="#ffffff"
android:visibility="visible"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="ON"
android:textColor="#000000"
android:id="@+id/ON"
android:visibility="invisible"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:textSize="150dp" />
</RelativeLayout>
Я пытался <include>
панель инструментов, как было предложено в онлайн-учебнике, который я нашел. Activity_toolbar.xml предоставляется,
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:visibility="visible">
</android.support.v7.widget.Toolbar>
Я попытался установить видимость панели инструментов в "true", чтобы попытаться вручную отобразить панель инструментов в файле activity_main.xml, но это не имеет значения. Как мне решить эту проблему?
1 ответ
С тех пор Toolbar
не имеет BackgroundColor
не будет отображаться
Вы можете использовать это следующим образом (панель инструментов в настоящее время видна, но вы не можете ее видеть):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/MainActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:layout_alignParentTop="true"
android:background="@android:color/holo_green_dark" />
<TextView
android:id="@+id/OFF"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="OFF"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#ffffff"
android:textSize="150dp"
android:visibility="visible" />
<TextView
android:id="@+id/ON"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="ON"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#000000"
android:textSize="150dp"
android:visibility="invisible" />
</RelativeLayout>
Кроме того, я бы предпочел использовать AppCompat
с новым дизайном стиля Android. Это поможет вам использовать такие вещи, как Toolbar
без труда.
И это должно решить, что не смещая заголовок,используйте его в вашем методе OnCreate:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(true);