android自定义title

1. 自定义一个title.xml布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical" 

    android:layout_width="fill_parent"

    android:layout_height="?android:attr/windowTitleSize"  

    style="?android:attr/windowTitleBackgroundStyle">



    <TextView

        android:id="@+id/tbartxt"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/app_name"

        android:textSize="15dp"

        android:textColor="#ffffff"

        android:paddingTop="3.0dip" 

        android:paddingBottom="3.0dip" 

        android:gravity="center">

        

    </TextView>



</LinearLayout>

2. 

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.title);

需要注意的是这三句话的顺序不能变。到这里只是改变了title的布局,下面改变背景和高度,这就需要改变Activity的theme。

在values文件夹下新建文件style.xml:

<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<style name=”CustomWindowTitleBackground”>
<item name=”android:background”>@drawable/bg_title</item>
</style>
<style name=”title_style” parent=”android:Theme”>
<item name=”android:windowTitleSize”>44dip</item>
<item name=”android:windowTitleBackgroundStyle”>@style/CustomWindowTitleBackground</item>
</style>
</resources>

最后在AndroidManifest.xml里面加上:

<activity android:name=”.sysinfo”
android:label=”@string/app_name”
android:screenOrientation=”portrait”
android:theme=”@style/title_style”
>

你可能感兴趣的:(android)