gpt4 book ai didi

android - 更新到 Android Lollipop 后的 ActionBar 样式

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

我昨天通过选择 API19 开发了自定义 ActionBar,今天我将支持库和项目更新为 API21,这让我遇到了问题。在我的操作栏中有一个我不需要的菜单到箭头按钮,并且操作栏的样式发生了变化。

更新前: enter image description here

更新后: enter image description here

以下是style.xml

<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">

</style>
<!-- Base application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:buttonStyle">@style/ButtonAppTheme</item>

<item name="actionBarItemBackground">@drawable/selectable_background_apptheme</item>
<item name="popupMenuStyle">@style/PopupMenu.Apptheme</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Apptheme</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Apptheme</item>
<item name="actionDropDownStyle">@style/DropDownNav.Apptheme</item>
<item name="actionBarStyle">@style/ActionBar.Solid.Apptheme</item>
<item name="actionModeBackground">@drawable/cab_background_top_apptheme</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_apptheme</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Apptheme</item>

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

</style>

<!-- Base application theme for Full screen Activities -->
<style name="AppThemeFullScreen" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
<item name="android:buttonStyle">@style/ButtonAppTheme</item>
</style>

<!-- Button Style -->
<style name="ButtonAppTheme" parent="android:Widget.Button">
<item name="android:background">@drawable/btn_background</item>
<item name="android:minHeight">48dip</item>
<item name="android:minWidth">64dip</item>
<item name="android:textColor">@color/btn_text_color_default</item>

</style>


<style name="ActionBar.Solid.Apptheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@drawable/ab_solid_apptheme</item>
<item name="backgroundStacked">@drawable/ab_stacked_solid_apptheme</item>
<item name="backgroundSplit">@drawable/ab_bottom_solid_apptheme</item>
<item name="progressBarStyle">@style/ProgressBar.Apptheme</item>
</style>

<style name="ActionBar.Transparent.Apptheme" parent="@style/Widget.AppCompat.ActionBar">
<item name="background">@drawable/ab_transparent_apptheme</item>
<item name="progressBarStyle">@style/ProgressBar.Apptheme</item>
</style>

<style name="PopupMenu.Apptheme" parent="@style/Widget.AppCompat.PopupMenu">
<item name="android:popupBackground">@drawable/menu_dropdown_panel_apptheme</item>
</style>

<style name="DropDownListView.Apptheme" parent="@style/Widget.AppCompat.ListView.DropDown">
<item name="android:listSelector">@drawable/selectable_background_apptheme</item>
</style>

<style name="ActionBarTabStyle.Apptheme" parent="@style/Widget.AppCompat.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_apptheme</item>
</style>

<style name="DropDownNav.Apptheme" parent="@style/Widget.AppCompat.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/spinner_background_ab_apptheme</item>
<item name="android:popupBackground">@drawable/menu_dropdown_panel_apptheme</item>
<item name="android:dropDownSelector">@drawable/selectable_background_apptheme</item>
</style>

<style name="ProgressBar.Apptheme" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:progressDrawable">@drawable/progress_horizontal_apptheme</item>
</style>

<style name="ActionButton.CloseMode.Apptheme" parent="@style/Widget.AppCompat.ActionButton.CloseMode">
<item name="android:background">@drawable/btn_cab_done_apptheme</item>
</style>

<!-- this style is only referenced in a Light.DarkActionBar based theme -->
<style name="Theme.Apptheme.Widget" parent="@style/Theme.AppCompat">
<item name="popupMenuStyle">@style/PopupMenu.Apptheme</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Apptheme</item>
</style>

</resources>

从 MainActivity 创建

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

mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
// mTitle = getTitle();

// Set up the drawer.
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout));

actionBar = getSupportActionBar();
// Toolbar toolbar =(Toolbar) findViewById(R.id.toolbar);
// setSupportActionBar(toolbar);

LayoutInflater mInflater = LayoutInflater.from(this);

LayoutParams layout = new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
View mCustomView = mInflater.inflate(R.layout.actionbar, null);
actionBar.setCustomView(mCustomView,layout);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDefaultDisplayHomeAsUpEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
}

有什么解决方案可以像以前使用最新的 SDK 一样恢复操作栏?

更新:我可以通过从我的 Drawerfragment 中的所有位置删除 ActionBarDrawerToggle 来从操作栏中删除箭头。

enter image description here

现在我只面临操作栏的样式问题。 Actionabr 的左侧填充和背景颜色

最佳答案

如果您只想要颜色,您应该在主题中将其定义为 primaryColor。看起来你得到了很多东西只是为了在 ActionBar 上放置一个色调。

 <style name="Theme.MyTheme" parent="Theme.AppCompat">
<item name="colorPrimary">@color/primary</item>
</style>

<color name="primary">#ff5722</color>

您指的箭头是 getSupportActionBar().setDisplayHomeAsUpEnabled(true|false); 并且您不再需要(不应)使用自己的抽屉图标,因为它包含在 appcompat v7 中。 (mDrawerToggle.setDrawerIndicatorEnabled(true);)

关于android - 更新到 Android Lollipop 后的 ActionBar 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26481710/

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