【发布时间】:2019-03-01 01:57:27
【问题描述】:
我正在构建一个 Android 应用程序,我想知道为什么有些活动显示操作栏而有些不显示。操作栏本身仅显示应用程序包名称。包含相同 xml 代码的两个活动具有不同的行为。一个显示带有应用标题的操作栏,另一个不显示。
启动器活动还显示带有应用标题的操作栏。
启动器活动 XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activities.LoginActivity">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"></LinearLayout>
<TextView
android:id="@+id/textpassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.441" />
<TextView
android:id="@+id/textlogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.22" />
<EditText
android:id="@+id/passwordfield"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:ems="10"
android:inputType="textPassword"
android:text="Password"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textpassword" />
<EditText
android:id="@+id/loginfield"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textlogin" />
<Button
android:id="@+id/loginbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Login"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/passwordfield"/>
具有奇怪行为的两个活动之一:
<?xml version="1.0" encoding="utf-8"?>
<!-- A RecyclerView with some commonly used attributes -->
<android.support.v7.widget.RecyclerView android:id="@+id/todo_recycler_view"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android" />
另外,我想知道如何在 Acionbar 中更改 App 标题。定义标题的 xml 中似乎没有选项。我认为 android studio 将此设置为项目名称(这是我的工作名称,而不是实际的“真实”应用程序名称)?根据文档,我可以构建自己的应用栏 (https://developer.android.com/training/appbar/setting-up)。这会有帮助吗?
【问题讨论】:
-
发布您的清单
-
我认为最好创建您的工具栏并将其添加到所有活动中...然后您可以自定义应用标题...
-
@FaizMir 引导我进入包含应用程序标题的字符串 xml。谢谢!
-
@MiladBahmanabadi 我该怎么做?这是我在帖子中提到的正确文档吗? (应用栏?)
-
是的,没错,我会发布一个例子,希望对你有所帮助
标签: android android-layout android-activity android-actionbar