【问题标题】:Android toolbar to all the activities所有活动的Android工具栏
【发布时间】:2017-03-13 09:38:15
【问题描述】:

我是 Android 新手。我需要为所有活动定义工具栏。对于主屏幕,我在工具栏上有一些菜单图标。

对于其他活动,我需要在工具栏上有带有一些选定菜单图标的后退按钮。 (可见真假)。

最好的方法是什么?

  1. 定义一个工具栏并在任何地方使用它
  2. 每次为每个活动创建工具栏。

当我创建新活动时,我不想每次都创建工具栏。以继承方式进行活动的最佳方式是什么。 (定义一次工具栏并在活动屏幕上随处使用)?

【问题讨论】:

标签: java android


【解决方案1】:

创建一个名为 toobar.xml 的布局

 <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
          />

然后将其包含在每个活动布局文件中:

<include layout="@layout/toolbar" />

然后在每个活动的 onCreate() 中启动:

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);

创建主题以移除默认的ActionBar:

<style name="AppTheme.NoActionBar">
     <item name="windowActionBar">false</item>
     <item name="windowNoTitle">true</item>
 </style>

在清单中设置主题:

   <activity
      android:name=".MainActivity"
      android:label="@string/app_name"
      android:theme="@style/AppTheme.NoActionBar" />

希望这会有所帮助。

【讨论】:

  • 那么我需要在每个活动的 onCreate 方法中实例化工具栏吗?
  • 是的,你必须这样做
  • 是的,只需在每个活动中将工具栏设置为 SupportActionBar。并设置您的活动主题如上。
【解决方案2】:

创建一个工具栏并将其与片段一起使用,这是最简单的方法

【讨论】:

  • 我如何将它与片段一起使用的任何示例?谢谢
  • 是的!在工具栏活动中设置一个FrameLayout 并给它一个ID。 Rhen 转到您的 Java 路径并创建新的 -> Fragment -> Fragment(Blank)。您需要为片段创建相应的布局。然后,为了调用片段集,例如:fragmentname fragmentname = new fragmentname(); FragmentManager manager = getSupportFragmentManager(); manager.beginTransaction().replace(R.id.fragmentlayout, fragmentname, fragmentname.getTag()).commit();
  • 每次你想调用另一个片段,就像你应该对活动做的那样,创建一个新片段并用这个方法调用它
【解决方案3】:

您可以使用 BaseActivity 模式。有了它,您可以在基础中定义工具栏并在所有其他活动中扩展它。或者您可以使用框架布局更改工具栏底部的片段。

【讨论】:

    【解决方案4】:

    tahsinRupam,我不得不这样做 更改:&lt;include layout="@layout/toolbar"/&gt; 至:&lt;include android:layout="@layout/toolbar"/&gt;

    【讨论】:

      猜你喜欢
      • 2015-04-24
      • 2016-03-23
      • 1970-01-01
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-04
      相关资源
      最近更新 更多