【问题描述】
今天做了个界面想把该界面的ActionBar给去掉,网上看了下相关资料,就是在你要去掉的那个界面添加一句话
android:theme="@android:style/Theme.NoTitleBar"
完整代码如下
<activity
android:name=".MainActivity"
android:theme="@android:style/Theme.Light.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
当自己运行的时候去发现有错,如下所示
【解决方法】
网上搜索了下,大概的意思就是这样的
Activity继承自 android.support.v7.app.AppCompatActivity,而不是 android.app.Activity。
因为我新建的界面继承的是AppCompatActivity,如下
public class MainActivity extends AppCompatActivity
正是因为这个原因所以我运行的时候就会出错。所以我们只需要继承Activity即可,如果非要继承AppCompatActivity可采用如下的方法
即将AndroidManifest.xml文件中关于Activity的主题配置改成:
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
完整代码如下
<activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
【总结】
当我们新建一个项目的时候如果不是特殊要求的话我们尽量去继承Activity