【问题标题】:Hide title of an activity with Dialog theme隐藏带有对话框主题的活动标题
【发布时间】:2017-10-03 12:08:13
【问题描述】:

我需要隐藏或更改我的活动操作栏的颜色。但是当我尝试这样做时,我得到了一个错误FATAL EXCEPTION: main

我的活动主题是android:theme="@style/Theme.AppCompat.Light.Dialog

隐藏

getSupportActionBar().hide();

改变背景颜色

android.app.ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.RED));

我被这个错误困住了。

错误日志

10-03 18:09:38.088 14160-14160/com.example.myown.myapplication 
E/AndroidRuntime: FATAL EXCEPTION: main

Process: com.example.myown.myapplication, PID: 14160

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myown.myapplication/com.example.myown.myapplication.MainActivity}: java.lang.NullPointerException
                                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)

【问题讨论】:

  • 我们如何帮助处理错误和setter代码,请完整发布getActionBar方法,会有一些问题导致setter尖叫。
  • @MuhammadFaisalHyder 我没明白
  • 你能发布完整的错误日志吗?
  • @Mehmed 用错误日志更新了我的 qn

标签: android android-actionbar fatal-error


【解决方案1】:

对话框主题没有ActionBar,使用Theme.AppCompat.Light

如果您仍想使用 Dialog 主题并想隐藏标题栏,请在 super.onCreate 之后立即调用 supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

【讨论】:

  • 我需要活动作为具有透明度的屏幕的一半。所以我使用对话框主题。
  • 在对话框主题中有一个操作栏
  • @JBR 如果您在对话主题的活动中调用getSupportActionBar(),您将得到空结果。你想改变什么背景?
  • 那我们怎么隐藏呢??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多