【问题标题】:android custom toolbar how to set back button be white?android自定义工具栏如何设置后退按钮为白色?
【发布时间】:2016-04-05 08:28:49
【问题描述】:

风格/应用主题:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@color/colorBackground</item>
</style>

样式/ActivityCustomToolbarTheme:

<style name="ActivityCustomToolbarTheme" parent="AppTheme">
   <item name="windowActionBar">false</item>
   <item name="windowNoTitle">true</item>
</style>

工具栏:

<android.support.v7.widget.Toolbar
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
     android:layout_height="?attr/actionBarSize"
     app:layout_collapseMode="pin"
     app:theme="@style/ThemeOverlay.AppCompat.Light"/>

我将app:theme设置为这个,但它总是黑色的。如果设置@style/ThemeOverlay.AppCompat.Dark,它是灰色的。

其他不自定义的activity也可以,但是如何设置自定义主题呢?

【问题讨论】:

    标签: android button toolbar back


    【解决方案1】:
    Use this
    
        protected void showBackButton() {
            mDrawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
            mDrawerToggle.setDrawerIndicatorEnabled(false);
            final Drawable upArrow = ContextCompat.getDrawable(this, R.drawable.ic_back); (R.drawable.ic_back==> your own drawable .png)
            mDrawerToggle.setHomeAsUpIndicator(upArrow);
            setSupportActionBar(mToolbar);
        }
    

    【讨论】:

    • 这是否意味着这是一个错误?
    • No.. 当您在特定活动/片段而不是整个应用程序中需要白色箭头时,上面的代码很有用。您可以通过主题实现此目的:
    • 在 23.2.0 支持库中更改了资源名称。修改 abc_ic_ab_back_mtrl_am_alpha 为 abc_ic_ab_back_material
    【解决方案2】:

    试试这个:

    <android.support.v7.widget.Toolbar
         android:id="@+id/toolbar"
         android:layout_width="match_parent"
         android:layout_height="?attr/actionBarSize"
         app:layout_collapseMode="pin"
         app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
    

    即设置工具栏的app:theme时使用@style/ThemeOverlay.AppCompat.Dark.ActionBar(而不是@style/ThemeOverlay.AppCompat.Dark)。

    【讨论】:

    • 我在答案中包含了一个示例。你得到了什么结果?
    猜你喜欢
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    相关资源
    最近更新 更多