您的位置:首页 > 移动开发

Activity继承自AppCompatActivity隐藏标题栏

2017-04-26 15:40 661 查看
在android studio中,新建的activity继承的是AppCompatActivity,但是我们隐藏标题栏用代码的方式再使用的时候就会引发崩溃。

以前继承自Activity时的隐藏标题栏的方式:

一:

requestWindowFeature(Window.FEATURE_NO_TITLE);


二:在AndroidManifest.xml将主题改为@android:style/Theme.NoTitleBar

<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
>


现在继承AppCompatActivity 时两种方法都没有用,第一种无效,第二种会报错:

You need to use a Theme.AppCompat theme (or descendant) with this activity.


解决方法:

用Java代码实现

setContentView(R.layout.activity_welcome);
getSupportActionBar().hide();


改变Theme,在AndroidManifest.xml中将主题更改为Theme.AppCompat.Light.NoActionBar、Theme.AppCompat.NoActionBar或Theme.AppCompat.DayNight.NoActionBar中的一个,即可隐藏标题栏

<activity android:name=".WelcomeActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息