9

我创建Android Studio中的Android应用,并已默认创建这些样式:为什么AppTheme.NoActionBar无法正常工作?

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

然而,在活动中,我尝试设置这是一个主题:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    ... 
android:theme="@style/AppTheme.NoActionBar"> 

但是当我跑我得到的操作栏中的应用程序:

enter image description here

为什么我会得到一个动作吧?我是否做了某些明显错误的事情,或者是Google Studio的官方IDE for Android平台,试图混淆/误导开发者?

这里是我的活动代码,有什么也没有,可能会导致操作栏本身出现:

public class WelcomeActivity extends AppCompatActivity { 
    @Override 
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { 
     super.onCreate(savedInstanceState, persistentState); 
     setContentView(R.layout.activity_welcome); 
    } 
} 
+1

加上'<项目名称= “机器人:windowFullscreen”>真 <项目名称= “机器人:windowContentOverlay”> @ null' –

回答

27

尝试是这样的:

<style name="AppTheme.NoActionBar"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    </style> 

并将此作为体现你的活动的主题,那就是:

<activity 
    ... 
    android:theme="@style/AppTheme.NoActionBar"> 
</activity> 
3

你可能在你的布局中的操作栏,或设置主题AndroidManifest文件

4

如果您只是让Android Studio自动生成活动,请查看activity_welcome。有android.support.design.widget.AppBarLayout,如果你删除它,ActionBar应该消失。

+0

你救了我。谢谢。 – wonsuc

0

您应该添加以下

<item name="android:windowFullscreen">true</item> 
<item name="windowActionBar">false</item> 

您可以使用

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

您可以访问 Full Screen Theme for AppCompat

1

一旦WelcomeActivity延伸AppCompatActivity,尝试Theme.AppCompat.NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
</style> 

如果尚未进行,包括版本程序兼容性库到您的build.gradle:

dependencies { 
    compile 'com.android.support:appcompat-v7:24.1.1' 
} 
2

没有其他的答案为我工作,但我发现此解决方案:

Android Studio中打开values/styles.xml并改变这一点:

<!-- Base application theme. --> 
<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> 

至:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- changed .DarkActionBar to .NoActionBar --> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 
0

您应该在清单中使用此主题。XML,一样:

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 

而且在styles.xml:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 

    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 
相关问题