gpt4 book ai didi

actionbarsherlock getSupportActionBar() 在 android4.0 中返回 null,但在 2.3.3 中是可以的

转载 作者:行者123 更新时间:2023-12-04 11:11:33 24 4
gpt4 key购买 nike

应用程序使用 actionbarsherlock,但主要事件获取 getsupportactionbar 返回 null。
AndroidManifest.xml:

    <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Light1Theme" >
<activity
android:name=".activity.LogonActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="adjustUnspecified|stateHidden" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
...

主题.xml:
    <style name="Light1Theme" parent="Theme.Sherlock.Light">

登录事件.ava
    extends SherlockActivity implements OnSharedPreferenceChangeListener {
...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
//getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.logon);

try{
final ActionBar ab = getSupportActionBar();
//return null
ab.setBackgroundDrawable(getResources().getDrawable(R.drawable.ab_bg_black));
getSupportActionBar().setIcon(R.drawable.hospital);
}catch(Exception e){
Log.e("", e.getMessage());
}

最佳答案

几个小时前我遇到了同样的问题,结果证明,问题的根源在于我使用了一个没有标题栏的主题。

This reply来自 Jake Wharton,actionbarsherlock 的开发者将帮助您解决问题。

简而言之:在安卓版本 ICS 和更新版本上,设置属性 android:windowNoTitle将影响操作栏的显示(因为它是这些版本的核心功能)。

ABS 已将其包裹成 windowNoTitle (没有命名空间/默认 abs 命名空间),因此根据您的应用程序安装的 android 版本,您将获得正确的显示。

如果你有这条线

<item name="android:windowNoTitle">true</item>

在您的样式定义中,只需将其更改为
<item name="windowNoTitle">true</item>

或者完全忽略它/从您的主题中删除它(abs 会正确处理它!)

关于actionbarsherlock getSupportActionBar() 在 android4.0 中返回 null,但在 2.3.3 中是可以的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11944855/

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