小编Tim*_*ele的帖子

如何使用AppCompat v.7显示和隐藏ActionBar

我有一个显示文本的简单应用程序.

该应用程序以一个带有几个选项的主屏幕开始(例如,一个信息按钮,可以显示有关该应用程序的信息,一个浏览按钮,允许用户查看可以显示的所有单个文本).主按钮指向另一个显示文本的屏幕.通过向左和向右滑动,他可以看到不同的文本段落.这是该应用程序的主要目的.

目前我已经实施了ActionBar.我的MainActivity.Java扩展了AppCompatActivity.应用程序中的所有内容都在此活动中.

现在我想这样做,所以ActionBar只出现在"显示"模式下,而不是在启动屏幕或"信息"/"浏览"模式下.

是否可以在应用程序的一个部分中安装ActionBar,而在应用程序的另一部分中没有 ActionBar?(并将其全部保留在相同的活动中?)

我一直在努力做到这一点,但没有用.如果可以,我接下来应该尝试什么?

到目前为止,我尝试过以下方面:

1)创建这个主题

<style name="Theme.AppCompat.NoActionBar" parent="Theme.AppCompat.Light">
    <item name="android:windowActionBar">false</item>  
    <item name="android:windowNoTitle">true</item>
</style>  
Run Code Online (Sandbox Code Playgroud)

并将其应用于MainActivity ...

<activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.NoActionBar" > 
Run Code Online (Sandbox Code Playgroud)

....执行此操作后,ActionBar仍然存在.(这来自这个SO帖子(android:windowNoTitle不会隐藏动作栏与appcompat-v7 21.0.0)

2)另一种尝试是将此添加到onCreate.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
    getActionBar().hide();

    setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)

这来自于研究这篇SO帖子:( 如何在创建活动之前隐藏操作栏,然后再次显示它?)

有什么建议?

android android-layout android-activity

53
推荐指数
4
解决办法
7万
查看次数

标签 统计

android ×1

android-activity ×1

android-layout ×1