您的位置:首页 > 移动开发 > Android开发

android自定义标题栏

2013-12-18 11:04 302 查看
第一步:创建自定义标题栏的布局文件

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="48dp"   
    >

    <Button
        android:id="@+id/title_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"       
        android:layout_marginLeft="8dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/back"
        android:text=" 返回"
        android:textColor="#858585"
        android:textSize="16dp" />
    
    <TextView
        android:id="@+id/title_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/back"
        android:layout_centerInParent="true"
        android:layout_alignBottom="@+id/back
        android:text="首页"
        android:textColor="#858585"
        android:textSize="24dp"
        android:layout_marginTop="10dp"
       
        ></TextView>
    
    <Button
        android:id="@+id/title_function"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
         android:layout_marginRight="8dp"
        android:layout_marginTop="10dp"
         android:background="@drawable/back"
        android:text="功能"
        android:textColor="#858585"
        android:textSize="16dp"
        ></Button>    

</RelativeLayout>


第二步:创建自定义Style文件(res/values/style.xml)

<style name="CustomWindowTitleBackground"> 
  	  <item name="android:background">@drawable/title_style</item> 
	</style>
   	<style name="titlewindowstyle" parent="android:Theme"> 
	    <item name="android:windowTitleSize">45dp</item>
	    <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
	</style>


第三步:AndroidMainfest.xm引用自定义的Style文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.vixuan.swxm"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="11" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/titlewindowstyle" ><!-- 重点-->
        <activity
            android:name="com.vixuan.swxm.activity.LoginActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.vixuan.swxm.activity.MainActivity"
            android:label="@string/app_name" >
        </activity>
    </application>

</manifest>


第四步:Actiivty创建自定义标题栏

package com.vixuan.swxm.activity;

import com.vixuan.swxm.R;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class MainActivity extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // 自定义窗口标题的样式 注意顺序
		setContentView(R.layout.activity_main);
		MainActivity.this.getWindow().setFeatureInt(
				Window.FEATURE_CUSTOM_TITLE, R.layout.title_style);// 注意顺序

	}

}


效果展示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: