重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.安卓标题栏不显示的原因
平凉网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
活动是按照教材(Android第一行代码)上继承的Activity,但打开主题的styles.xml,会发现
style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"
设定中用到了AppCompat的主题
解决办法就是让所有的活动都继承 AppCompatActivity就行了,如下:
public class 活动 extends AppCompatActivity
2.标题栏无法隐藏原因
在《第一行代码》上学习做自定义标题栏,需要将系统自带的标题栏隐藏掉,使用自定义的标题栏,结果发现,requestWindowFeature(Window.FEATURE_NO_TITLE); 这句代码无效,标题栏无法隐藏
活动的继承
public class FirstActivity extends AppCompatActivity
因为活动是继承AppCompatActivity,所以
requestWindowFeature(Window.FEATURE_NO_TITLE);
这句失效了
解决方法有两种
(1)将AppCompatActivity改为Activity,此时 requestWindowFeature(Window.FEATURE_NO_TITLE);是有效的
(2)在onCreate()方法中加入如下代码:
if (getSupportActionBar() != null){
getSupportActionBar().hide();
}
这样就可以隐藏标题栏了
在android中去掉标题栏有三种方法,它们也有各自的特点。
1.在代码里实现
[java] view plaincopy
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
记住:这句代码要写在setContentView()前面。
2.在清单文件(manifest.xml)里面实现
[java] view plaincopy
application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
这样用可以将整个应用设置成无标题栏,如果只需要在一个Activity设置成一个无标题栏的形式,只要把上面的第三行代码写到某一个Activity里面就可以了。
3.在style.xml文件里定义
[html] view plaincopy
?xml version="1.0" encoding="UTF-8" ?
resources
style name="notitle"
item name="android:windowNoTitle"true/item
/style
/resources
然后面manifest.xml中引用就可以了,这种方法稍麻烦了些。
[html] view plaincopy
application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/notitle"
其实可以看得出来,第二种方法和第三种方法实质是一样的,只不过第二种方法调用的是系统定义好的style.xml文件,而第三种方法则是在自己的应用里定义style.xml,然后再自己再调用,其实道理是一样的,第三种方法做起来更有成就感。
安卓app中的内置标题栏不同版本差异很大,但无论是2.3以下或4.0以上系统的标题栏,能自定义的属性都很少。在开发Android应用中,想创建一个漂亮的自定义标题栏,有两种方法,
第一,使用第三方框架,如SerlockActionbar。
第二,在XML中头部做一个layout来作为标题栏(实际上就是普通的view)
我使用的是第二种方法,灵活性强些。