自定义标题栏

       最近学了自定义ActionBar,ActionBar就是我们打开Android软件时,显示在最上面的标题栏所在,当然了,它还包括了一些menu和图片等。Android官方为我们提供了多种ActionBar的模式,即便如此,但还是不能完全的满足开发需求,因为官方提供的样式基本都是标题靠左显示,但是我们一般需要居中显示,颜色字体等也根据不同的软件,有不同的需求,所以考虑用自定义。

       如果需要将标题居中网上的资料一般都是在java代码中,

使用actionbar.setDisplayShowTitleEnabled(false);隐藏标题栏,

然后使用actionbar.setDisplayShowCustomEnabled(true);设置在ActionBar中可以显示自定义的View,再然后就是设置加载自定义View了

actionbar.setCustomView(
View.inflate(this, R.layout.title, null),//R.layout.title是一个自定义Layout,可以用一个textview试试
new ActionBar.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT,Gravity.CENTER));
      根据以上方法就能实现标题栏居中显示了,但是这会有一个问题,那就是你会发现,即便你隐藏了title,但是程序启动时还是会先显示一下原来的title然后再隐藏title,显示你的自定义标题栏,这就是因为onCreate先加载了布局文件然后我们才设置的title隐藏,不能满足需求,所以考虑在布局的时候就隐藏title,在styles文件中设置一个Myactionbar,这个ActionBar的parent为你现在的ActionBar,然后再通过设置android:displayOptions这个属性来实现。

<style name="MyStyle" parent="AppTheme">
         <item name="android:actionBarStyle">@style/Myactionbar</item>
    </style>
    
    <style name="Myactionbar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
        <item name="android:background">#fff</item>
        <item name="android:displayOptions">useLogo|showHome</item>
    </style>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值