android自定义标题栏

哈哈 阅读:647 2021-04-01 10:03:55 评论:0

第一步:创建自定义标题栏的布局文件

<?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);// 注意顺序 
 
	} 
 
}


效果展示:


标签:Android
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号