2种自定义android标题栏titleBar的方法(转)

android默认的标题栏确实有点不敢恭维,有时为了实现个性化的需求需要自定义一套自己的标题栏。下面就来说说两种实现自定义标题栏的方法。
1、利用Activity的requestWindowFeature方法激活window features。再通过window的setFeatureInt方法设定事先定义好的布局文件。
具体代码如下:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        // 这里要主要requestWindowFeature和setContentView先后顺序哦
        setContentView(R.layout.custom_title);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);
}


custom_title_1为自定义的标题栏布局文件。
2、通过在manifest文件中设置需要自定义标题栏的Activity的主题。如下:

<activity android:name=".main.About" android:label="@string/about"
android:theme="@style/MyCustom"></activity>
 
<activity android:name=".main.Help" android:label="@string/help"
android:theme="@style/MyCustom"></activity>


在res/values/styles.xml文件中定义好自己的样式

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyCustom" parent="android:style/Theme.Light">
    <item name="android:windowTitleBackgroundStyle">@style/titleBg</item>
    <item name="android:windowTitleSize">36dp</item>
    <item name="android:windowTitleStyle">@style/titleText</item>
    </style>
 
    <style name="titleBg">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:background">#63B2D6</item>
        <item name="android:paddingLeft">20dp</item>
    </style>
    <style name="titleText">
        <item name="android:textSize">23sp</item>
        <item name="android:textColor">#424952</item>
    </style>
</resources>


ok,基本就是这样,下面贴一个效果图

android titlebar

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值