gpt4 book ai didi

API 19 的 Android 工具栏? (API 21 工作正常)

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:52 27 4
gpt4 key购买 nike

我用了How do I use DrawerLayout to display over the ActionBar/Toolbar and under the status bar?Suyash 的答案(我还添加了一个工具栏,可能不正确)将抽屉导航放在“操作栏”上。

对于 API 级别 21 而不是“操作栏”,我使用了工具栏,它工作正常。

但是对于 API 19 这不起作用:

    if(Build.VERSION.SDK_INT > 19) {
final Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
}

您知道如何将 NavigationDrawer 置于 API 级别 19 的“操作栏”(或工具栏)之上吗?

最佳答案

如果您使用工具栏,那么您应该能够在任何 API 中查看完全相同的工具栏。

为此你应该在 res/layout 中有一个 XML:

<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"/>

在你的主布局中你应该包含它:

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

此外,您还应该在 styles.xml 中将样式设置为 No Action Bar

<style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>
</style>

但对于 API 21,您应该有另一个 styles.xml:

<style name="AppTheme" parent="AppTheme.Base">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primaryDark</item>
<item name="android:colorAccent">@color/accent</item>
</style>

最后在您的主 Activity 中

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

最后,对于您想对工具栏执行的任何操作,获取它并像对待旧的 Action Bar 一样对待它:

getSupportActionBar().setHomeAsUpEnabled(true);

关于API 19 的 Android 工具栏? (API 21 工作正常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29055491/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com