android界面之自定义标题栏

android自带的标题栏有点丑,开发时基本上都要重写自己的标题栏,下面是一点介绍。

在继承Activity的类,onCreate函数中,super.onCreate(savedInstanceState)函数调用之后,设置自定义标题栏,如

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
                
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);//1
        setContentView(R.layout.activity_main);//2
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.m_title_button);//3
        }


注意123三步顺序不能错,R.layout.m_title_button是我定义的XML布局文件,如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

    <Button 
        android:id="@+id/add_dict"
        android:layout_width="60dip"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="上一页"
        android:textColor="@color/white"
        android:textSize="12dip"
        android:background="@drawable/button_bg"
        />
    <TextView 
        android:id="@+id/textview_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="标题"
        android:textColor="@color/white"/>
    <Button 
        android:id="@+id/title_btn_right"
        android:layout_width="60dip"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:text="下一页"
        android:textColor="@color/white"
        android:textSize="12dip"
        android:background="@drawable/button_bg"
        />
</RelativeLayout>

最早时候我是在RelativeLayout属性里头定义了背景的,当时做到这里还没运行之前,以为就已经全部搞定了,内心窃喜,不过运行之后就发现问题了,背景颜色没铺满整个标题栏,怎么办呢?后来百度了好久找到了解决的办法,如下:

项目浏览器里头,res/values/styles.xml里头定义style项,如下

    <style name="titlebarstyle" parent="android:Theme">
        <item name="android:windowTitleSize">38dip</item>
        <item name="android:windowTitleBackgroundStyle">@style/myTitleBarBackground</item>
    </style>
    
    <style name="myTitleBarBackground">
        <item name="android:background">@drawable/titlebar_bg</item>
    </style>


titlebarstyle继承Theme主题样式,设置高度,设置背景项,下面再定义一个背景,然后在项目的AndroidManifest.xml中引用该类型就好,如下:

<activity
            android:theme="@style/titlebarstyle"
            android:name=".NewWordNote">
</activity>
至此,运行完事。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值