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

继承AppCompatActivity和Activity的Activity隐藏标题栏的区别

2017-03-31 17:50 489 查看
问题

在去掉标题栏的时候要分别是继承的AppCompatActivity,还是继承的Activity,两种是不同的方式来隐藏标题栏,针对不同的方式来隐藏不同的标题栏。

继承Activity的时候如何隐藏标题栏?

解决办法:

(1).在代码里实现

requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏


此行代码要写在setContentView()前面才会起到作用。

(2)在清单文件(manifest.xml)里面实现

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


这样用可以将整个应用设置成无标题栏,如果只需要在一个Activity设置成一个无标题栏的形式,只要把上面的第三行代码写到某一个Activity里面就可以了。

(3)在style.xml文件里定义

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<style name="notitle">
<item name="android:windowNoTitle">true</item>
</style>
</resources>


然后面manifest.xml中引用就可以了。

<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/notitle">


以上就是继承Activity时候实现隐藏标题栏的不同方法,可以选择不同的方式实现。

问题

继承AppCompatActivity的时候如何隐藏标题栏?

继承了AppCompatActivity的Activity无法通过调用requestWindowFeature(Window.FEATURE_NO_TITLE)来隐藏标题栏。

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); //无效
setContentView(R.layout.activity_main);
}
}


在代码中不能实现我们的要求,那么就要换另外一个途径,现在去尝试在AndroidManifest.xml将主题改为@android:style/Theme.NoTitleBar

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


在Android Monitor中看到错误报告:You need to use a Theme.AppCompat theme (or descendant) with this activity.(你必须使用Theme.AppCompat主题或者其子类主题)

解决办法:

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

<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"//成功隐藏标题栏
>


以上就是所有的关于隐藏标题栏的全部内容,其实不难看出无论是继承AppCompatActivity,还是继承的Activity,其实都是相同的方式实现的。

更多资源源码下载:

不一样的RecyclerView优雅实现复杂列表布局

android自定义视频播放器

MediaPlayer和SurfaceView的结合使用

FloatingActionButton的使用

多层Fragment与ViewPager结合使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: