如何将Android中的标题栏自定义

在Android中,标题栏是默认的,但是有些时候我们想要将它变成我们想要的样子。

如何来改变标题栏的高度?

根据网上一些所说的,4.0系统很容易会出现一个自定义标题栏和其他标题栏冲突的错误,那么在4.0以上的版本中如何修改呢?

首先,我们可以在/res/values-v11和/res/values-14中的styles.xml中,修改parent中的值为android:Theme;然后将我们所定义的style放在这两个文件里面。

<style name="CustomWindowTitleBackground">
       <item name="android:background">#ffffff</item>//改变标题栏的颜色
</style>
    <style name="titleBarSelf" parent="AppBaseTheme">
        <item name="android:windowTitleSize">50dp</item>//改变标题栏的高度
         <item name="android:windowNoTitle">false</item>//是否隐藏标题栏
     <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
  </style>

这是自定义的style,然后我们在配置文件中,将android:theme中的值改成上述自定义中的值

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/titleBarSelf"//就是这里,titleBarSelf是与上述sytle中name值是一样的。
         >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
这样,我们达到了修改标题栏的效果,想要更加深入的理解这些,我还得更加深入的学习。

第二,修改标题栏的内容

我们首先在Activity中的onCreate中加入这几句代码,注意顺序。

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);// 这句话意思是<span style="font-family: Arial; font-size: 14px; line-height: 26px;">启用窗体的扩展特性。参数是Window类中定义的常量。</span>
		setContentView(R.layout.main);//Activity的布局文件
		getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.title); //自定义的标题布局栏
然后在layout中创建一个自己想要的标题栏的名字为title样式。

到现在我们成功的修改了标题栏和自定义了自己想要的标题栏的内容。

网上所参考的一些信息:

http://blog.csdn.net/heng615975867/article/details/8735550  这是requestWindowFeature()的应用

http://www.oschina.net/question/931057_122529?fromerr=hsVYoCgd  这是

关于报错You cannot combine custom titles with other title features

的解决方法。

http://www.blogjava.net/Green-nut/articles/332617.html  自定义标题栏



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值