【问题标题】:Activity with duplicate toolbar带有重复工具栏的活动
【发布时间】:2018-12-13 15:12:02
【问题描述】:

我有一个初始的基本活动,它将作为登录屏幕(这个屏幕有一个公共栏,只有应用程序的名称,没有抽屉导航选项),当点击这个屏幕上的输入按钮时,用户是定向到活动主,我想在其中放置带有切换图标的抽屉导航选项。但是如果我添加一个工具栏,工具栏就会重复,我该如何解决这个问题?

Toolbar toolbarPrincipal = findViewById(R.id.toolbarPrincipal);

DrawerLayout drawer = findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbarPrincipal, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();

NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);

【问题讨论】:

标签: java android


【解决方案1】:

删除所有工具栏相关代码。

01.添加样式

<style name="HeaderBar">
    <item name="android:background">?colorPrimary</item>
</style>
<style name="ActionBar.TitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">#fff</item>
    <item name="android:textSize">17sp</item>
</style>
<style name="ActionBarThemeOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:textColorPrimary">#fff</item>
    <item name="colorControlHighlight">#3fff</item>
</style>

02.创建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_actionbar"
style="@style/HeaderBar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:textSize="@dimen/toolbar_text_size"
android:theme="@style/ActionBarThemeOverlay"
android:background="#234E6F"
app:contentInsetStart="5dp"
app:contentInsetLeft="10dp"
app:titleTextAppearance="@style/ActionBar.TitleText" />

03.将此添加到您的活动 xml 文件中

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

04.最后添加你的活动

   Toolbar toolbar = findViewById(R.id.toolbar);
    if (toolbar != null) {
        setSupportActionBar(toolbar);
        getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_arrow_back_white_24dp);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("Leave Menu List");
    }

【讨论】:

    【解决方案2】:

    您需要为带有抽屉的活动使用其中一种 NoActionBar 样式。

    1. 转到值样式并添加扩展 NoActionBar 样式之一的新样式。

    2. 在您的清单中,为适当的活动设置适当的主题

    按照此文档了解有关样式和主题的更多信息。

    https://developer.android.com/guide/topics/ui/look-and-feel/themes

    【讨论】:

      【解决方案3】:

      看起来您已经添加了工具栏,并且您还有操作栏主题。

      所以在你的 Style.xml 中设置 NoactionBar 主题,在 Manifest 文件中设置 Activity 标签。然后你可以使用工具栏。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-02
        • 1970-01-01
        相关资源
        最近更新 更多