Как удалить панель заголовка из Activity, расширяющую ActionBarActivity или AppcompatActivity с помощью темы Dialog
Мне пришлось расширить свою активность с помощью темы Theme.AppCompat.Light.Dialog из ActionBarActivity до и сейчас из AppcompatActivity, потому что моя базовая активность расширяет ее.
Но теперь с новой библиотекой appcompat v7 (v22) моя активность начала показывать строку заголовка, несмотря на то, что я использую собственный стиль с элементами windowActionBar = false, android: windowNotitle= true. Но до тех пор, пока не будет обновлена библиотека appcompat, такой проблемы нет, строка заголовка не была показана.
Если моя активность расширяет FragmentActivity, все в порядке, и я понимаю, что, возможно, я использую плохой шаблон, который активирует мой диалог из AppcompatActivity, но я хотел бы знать, есть ли способ удалить строку заголовка?
Ответы
Ответ 1
У меня была такая же проблема, и мне нужно было сделать что-то вроде следующего для устранения (обратите внимание на использование "windowNoTitle" вместо "android: windowNoTitle" )
<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
Ответ 2
Вы можете скрыть панель действий во время выполнения, вызвав hide()
. Например:
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
Ответ 3
Попробуйте
getSupportActionBar().hide()
если вы используете AppCompatActivity
И
getActionBar().hide()
если ваша деятельность расширяет ActionBarActivity.
Надеюсь, что это поможет.
Ответ 4
Если вы используете библиотеку поддержки, используйте:
getSupportActionBar().setDisplayShowTitleEnabled(false);
Если нет, используйте
getActionBar().setDisplayShowTitleEnabled(false);
Ответ 5
Чтобы решить панель действий в классе, расширьте AppCompatActivity. Начну с определения новой темы, простирающейся от основной темы в файле style.xml:
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>
Ответ 6
В AppCompat Theme работает только одна вещь -
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
Ответ 7
Добавление android:theme="@style/AppTheme.NoActionBar"
в AndroidManifest.xlm делает трюк в моем случае.
Решение @Brexx Galangue дало мне следующую ошибку времени выполнения:
java.lang.RuntimeException: Unable to start activity
Caused by: java.lang.IllegalStateException: You need to use
a Theme.AppCompat theme (or descendant) with this activity.
Ответ 8
открытый класс MainActivity расширяет 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);
} }
Ответ 9
Попробуйте добавить этот код в свой манифест, в частности, к активности, которую вы хотите удалить из Actionbar
:
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
надеюсь, что это поможет: D