gpt4 book ai didi

android - 使用支持操作栏主页已启用

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

我刚刚修改了我们的代码以使用 v7-appcompat 库中提供的新 SupportActionBar,但是当在 Jellybean 手机上运行代码时(推测 Honeycomb 和 Ice Cream Sandwich 也存在同样的问题)主页按钮没有似乎永远被激活。

调用 getSupportActionBar().setHomeButtonEnabled(true);似乎并不像它说的那样,但适用于 Gingerbread 手机。

如果我用 getActionBar().setHomeButtonEnabled(true) 替换它,它确实有效。

我使用的v11+主题如下:

<style name="MyTheme" parent="@style/Theme.AppCompat">
<item name="android:windowActionBar">true</item>
<item name="android:windowNoTitle">false</item>
<item name="android:listViewStyle">@style/MyListView</item>
<item name="android:actionBarStyle">@style/MyActionBarStyle</item>
<item name="android:windowSoftInputMode">stateAlwaysHidden</item>
<item name="android:buttonStyle">@style/MyButton</item>
<item name="android:radioButtonStyle">@style/MyRadioButtonStyle</item>
<item name="android:windowContentOverlay">@drawable/ab_solid_dove_grey</item>
<item name="android:windowTitleSize">@dimen/action_bar_height</item>
<item name="android:selectableItemBackground">@drawable/sel_standard_item</item>
<item name="android:windowBackground">@drawable/default_bg</item>
<item name="android:actionMenuTextAppearance">@style/MyActionBarText</item>
<item name="android:actionMenuTextColor">@color/gallery</item>
<item name="android:tabWidgetStyle">@style/MyTabWidget</item>
</style>

并且定义了action bar style v11+:

<style name="MyActionBarStyle" parent="android:style/Widget.Holo.ActionBar">
<item name="android:displayOptions">useLogo|showHome|showCustom</item>
<item name="displayOptions">useLogo|showHome|showCustom</item>
<item name="android:actionBarSize">@dimen/action_bar_height</item>
<item name="android:icon">@drawable/ic_launcher</item>
<item name="android:background">@android:color/transparent</item> <!-- Remove blue line from bottom of action bar -->
</style>

任何人都知道为什么在正确支持操作栏的 Android 版本上无法启用主页按钮。

===更新===我刚刚查看了 appcompat 库的源代码,我注意到 ActionBarImplBase 中的以下内容对我来说是错误的:

 setHomeButtonEnabled(abp.enableHomeButtonByDefault() || homeAsUp);

这意味着只有当Android版本低于ICS或者我启用了向上指示灯时,主页按钮才会启用? - 我不想要。

最佳答案

这个对我有用:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_your_activity);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// ... other stuff
}

@Override
public boolean onSupportNavigateUp(){
finish();
// or call onBackPressed()
return true;
}

当您使用 SupportActionBar 中的后退按钮时,方法 onSupportNavigateUp() 被调用。

关于android - 使用支持操作栏主页已启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19292691/

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