gpt4 book ai didi

Android:AppCompat 21,如何将返回图标和溢出图标更改为自定义图标?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:48 24 4
gpt4 key购买 nike

几天前,在我的项目中,我使用了 sherlock actionbar,但我决定将整个 actionbar 样式更改为新的 Material 设计。在我的返回和溢出图标的旧主题上,我在我的主题上设置了一些自定义图标。但是在 appcompat 上,我尝试在我的主题上定义它,我在工具栏上使用它,但它不起作用。任何人都知道如何使这成为可能?

我在工具栏上使用的主题(使用 asset studio 生成):

<style name="Theme.Themewiz" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/ActionBar.Solid.Themewiz</item>

<item name="android:actionBarItemBackground">@drawable/selectable_background_themewiz</item>
<item name="android:popupMenuStyle">@style/PopupMenu.Themewiz</item>
<item name="android:dropDownListViewStyle">@style/DropDownListView.Themewiz</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle.Themewiz</item>
<item name="android:actionDropDownStyle">@style/DropDownNav.Themewiz</item>
<item name="android:actionModeBackground">@drawable/cab_background_top_themewiz</item>
<item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_themewiz</item>
<item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Themewiz</item>

<!-- Light.DarkActionBar specific -->
<item name="android:actionBarWidgetTheme">@style/Theme.Themewiz.Widget</item>

<item name="android:actionOverflowButtonStyle">@style/Theme.AppCompat.Overflow</item>

</style>

<style parent="@style/Widget.AppCompat.ActionButton.Overflow" name="Theme.AppCompat.Overflow">

<item name="android:src">@drawable/ic_action_overflow</item>

</style>

工具栏 xml:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimaryDark"
app:theme="@style/Theme.Themewiz"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

最佳答案

使用 appcompat 21 实现这些非常容易。

要更改后退图标,您必须使用支持工具栏作为您的操作栏。 This post by Chris Banes应该让你开始。

添加完工具栏后,您只需:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_id);
toolbar.setNavigationIcon(R.drawable.back_icon);

另一方面,要更改溢出图标,最简单的方法是在主主题声明中添加自定义样式。像这样的东西:

<resources>
<!-- Base application theme. -->
<style name="Your.Theme" parent="@style/Theme.AppCompat">
<!-- Your theme items go here -->

<item name="actionOverflowButtonStyle">@style/OverFlow</item>
</style>

<!-- Styles -->
<style name="OverFlow" parent="@android:style/Widget.AppCompat.ActionButton.Overflow">
<item name="android:src">@drawable/overflow_icon</item>
</style>

</resources>

希望对您有所帮助。

关于Android:AppCompat 21,如何将返回图标和溢出图标更改为自定义图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671677/

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