今天学习Android,需要将系统自带的标题栏隐藏掉,使用自定义的标题栏,结果发现,requestWindowFeature(Window.FEATURE_NO_TITLE); 这句代码无效,标题栏无法隐藏,可我以前都可以隐藏啊,今天怎么不可以了,最终发现是Activity的继承问题,我的代码是这样的。
public class TitlebarActivity extends AppCompatActivity
可以看出我的Activity是继承自AppCompatActivity,所以requestWindowFeature(Window.FEATURE_NO_TITLE);这句失效了。
解决方法有三种
第一种:将AppCompatActivity改为Activity,此时 requestWindowFeature(Window.FEATURE_NO_TITLE);是有效的
第二种:在onCreate()方法中加入如下代码:
if (getSupportActionBar() != null){
getSupportActionBar().hide();
}
第三种:修改清单文件AndroidManifest.xml的主题样式,android:theme="@style/AppTheme"改为:
android:theme="@style/Theme.AppCompat.NoActionBar"
注意的是:前两种针对的是当前activity,第三种针对整个项目所有的activity。
网友评论