【问题标题】:I have to create one Toolbar for each activity in my Android app?我必须为我的 Android 应用程序中的每个活动创建一个工具栏吗?
【发布时间】:2015-09-25 00:25:56
【问题描述】:

我对 Android 中的新工具栏有疑问。

我必须为我的应用程序中的每个活动创建一个工具栏,或者是否有最佳做法可以为所有活动创建一个工具栏?

我尝试创建一个扩展布局并搜索视图 ID 以创建工具栏并为所有活动返回相同实例的 Singleton,但这不起作用。

有人可以帮我吗? :S

【问题讨论】:

    标签: android toolbar


    【解决方案1】:

    Toolbar 只是一个视图,您必须将其添加到您要在其中显示它的每个 Activity

    一种方法是将其放在单独的布局文件中并包含在您的 Activity 布局中。

    工具栏.xml

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        >
    
    </android.support.v7.widget.Toolbar>
    

    现在在您想要添加它的 Activity 布局中包含如下内容:

    <include
            android:id="@+id/toolbar"
            layout="@layout/toolbar"/>
    

    【讨论】:

    • @DanielFilho 如果它适合你,你可以接受它作为答案。
    • @Sharj 我需要为每个包含设置 ID?
    • 是的,如果您想在 Java 代码中访问它,您可以这样做。
    • 实际上,您不必为每个包含都使用 Id。你只需要在它的布局中设置好,然后在其他activity中包含它
    【解决方案2】:

    您还可以使用AppCompatActivity 而不是Activity 扩展您的活动类

    【讨论】:

      【解决方案3】:
      <?xml version="1.0" encoding="utf-8"?>
      <android.support.v7.widget.Toolbar
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:id="@+id/toolbar"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="?attr/colorPrimary"
      app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
      >
      
      </android.support.v7.widget.Toolbar>
      

      【讨论】:

      • 只是一些没有解释的代码不是很有帮助。这段代码去哪里了?您如何从您的活动中访问此代码?等等
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 2020-05-08
      • 1970-01-01
      相关资源
      最近更新 更多