android操作栏是活动的幕后推手

7fhtutme  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(466)

我跟随几个教程创建了一个从侧面进入的菜单抽屉。抽屉确实有用,而且是从侧面进来的。另外,我想有一个“汉堡包图标”可见的行动栏有一个菜单可用的视觉指标。但我没有机会让动作条出现。我接受了这篇文章和这篇文章的建议,但都没有解决我的问题。
问题是,动作条正在呈现,但隐藏在活动的布局后面;我可以点击左上角,它将从左侧滑入(又名“开始”进入)android:layout parlance),如果我关闭构建菜单的相关代码,则该行为将关闭(但我仍然可以从左侧滑入菜单)。
我怎样才能让动作条出现,在上面?
下面是我处理过的具有不同程度影响的代码片段。
活动的相关内容:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pending_page_navigation);

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

        drawerLayout = findViewById(R.id.pending_page_drawer);
        drawerLayout.addDrawerListener(actionBarDrawerToggle);

        actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.open, R.string.close);
        actionBarDrawerToggle.setDrawerIndicatorEnabled(true);

        navigationView = findViewById(R.id.pending_page_navigation_view);
        actionBarDrawerToggle.syncState();

活动布局的layout/xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".PendingPage"
    android:id="@+id/pending_page_drawer">

    <com.google.android.material.navigation.NavigationView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/pending_page_navigation_view"
        app:menu="@menu/menu_pending_party"
        app:headerLayout="@layout/pending_party_menu_header"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"/>

    <include
        android:layout_height="match_parent"
        android:layout_width="wrap_content"
        layout = "@layout/pending_page_menu_toolbar"/>

    <include
        android:layout_height="match_parent"
        android:layout_width="wrap_content"
        layout="@layout/activity_pending_page"/>

</androidx.drawerlayout.widget.DrawerLayout>

工具栏xml/布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:theme="@style/Theme.Giftswapper.AppBarOverlay">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/pending_page_menu_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/gold_yellow"
        android:minHeight="?attr/actionBarSize" />

    </com.google.android.material.appbar.AppBarLayout>

</LinearLayout>

样式xml:

<style name="Theme.AllNoActionBarNone" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <item name="colorPrimary">@color/green</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/red</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/text_white</item>

        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="android:windowActionBarOverlay">false</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
    </style>

为了风格,我试过了 .NoActionBar 结果与上述代码相同。我只是想看看是否可以手动覆盖windowsnotitle、windowactionbar和android:windowactionbaroverlay.
感谢您的指导和帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题