我不得不在AppBatActivity之前和之后从AppBatActivity扩展我的Activity主题Theme.AppCompat.Light.Dialog,因为我的Base Activity扩展了这个。
但是现在有了新的appcompat v7(v22)库我的Activity开始显示标题栏,尽管我使用自定义样式的项目windowActionBar = false,android:windowNoTitle = true。但是在appcompat库升级之前没有出现这样的问题,标题栏没有显示出来。
如果我的活动扩展了FragmentActivity,一切都还可以,我明白可能我使用了一个糟糕的模式,我的对话活动从AppcompatActivity扩展但我想知道有没有办法删除标题栏?
答案 0 :(得分:62)
我有同样的问题,需要做以下事情来解决(注意使用" windowNoTitle"而不是" android:windowNoTitle")
<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
答案 1 :(得分:13)
您可以通过调用hide()
在运行时隐藏操作栏。例如:
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
答案 2 :(得分:13)
尝试
getSupportActionBar().hide()
如果您使用的是AppCompatActivity
并且
getActionBar().hide()
如果您的活动扩展了ActionBarActivity。 希望它有所帮助。
答案 3 :(得分:8)
要解决类扩展AppCompatActivity上的操作栏,我首先从style.xml文件中的main主题定义新主题扩展:
<强> style.xml 强>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
&#13;
并在AndroidManifest.xml中将noactionbar主题实现为您想要的活动。希望这有帮助:)
答案 4 :(得分:8)
只有一件事适用于AppCompat主题 -
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
答案 5 :(得分:7)
If you're using support library use:
getSupportActionBar().setDisplayShowTitleEnabled(false);
If not then use
getActionBar().setDisplayShowTitleEnabled(false);
答案 6 :(得分:1)
在android:theme="@style/AppTheme.NoActionBar"
中添加AndroidManifest.xml
就可以解决这个问题。
@Brexx Galangue解决方案给了我以下运行时错误:
java.lang.RuntimeException:无法启动活动
引起:java.lang.IllegalStateException:您需要使用 带有此活动的Theme.AppCompat主题(或后代)。
答案 7 :(得分:-1)
尝试在您的清单上添加此代码,特别是您想要消除其Actionbar
的活动:
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
希望它有所帮助:D
答案 8 :(得分:-1)
public class MainActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.custom_title_bar);
}
}