android 自定义标题栏

你猜 阅读:595 2021-04-01 10:13:53 评论:0

近日

需要在android的标题栏上添加返回按钮,所以对android的标题栏进行了一下简单的研究~

 

第一步:

向实现自定义标题栏的Activity的onCreate方法里这样写

	public void onCreate(Bundle savedInstanceState) { 
		// TODO Auto-generated method stub 
		super.onCreate(savedInstanceState); 
		// 自定义样式文件 
		requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // 自定义窗口标题的样式 注意顺序 
		//activity布局文件 
		setContentView(R.layout.activity_kaoqin); 
		//自定义标题栏布局文件 
		KaoqinActivity.this.getWindow().setFeatureInt( 
				Window.FEATURE_CUSTOM_TITLE, R.layout.title_style);// 注意顺序 
 
	}


注意:

requestWindowFeature要在setContentView之前

getWindow().setFeatureInit最好在setContentView之后

第二步,就是写好自己的布局文件,实现标题栏的自定义。

title_style.xml文件

<?xml version="1.0" encoding="UTF-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="48dp"    
    android:orientation="vertical" > 
 
    <Button 
        android:id="@+id/back" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="8dp" 
        android:layout_marginTop="10dp" 
        android:background="@drawable/back" 
        android:text=" 返回" 
        android:textColor="#858585" 
        android:textSize="18dp" /> 
 
</LinearLayout>


第三步:编写Style样式文件(String.xml文件中创建Style样式文件)

 

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
 
    <string name="app_name">ezhangkong</string> 
    <string name="action_settings">Settings</string> 
    <string name="hello_world">Hello world!</string>  
 
	 
   <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> 
 
</resources>


第四步:样式添加到AndroidManifest文件中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.rf.ezhangkong" 
    android:versionCode="1" 
    android:versionName="1.0" > 
 
    <uses-sdk 
        android:minSdkVersion="7" 
        android:targetSdkVersion="7" /> 
     
 
    <application 
        android:allowBackup="true" 
        android:icon="@drawable/ic_launcher" 
        android:label="@string/app_name" 
        android:theme="@style/titlewindowstyle"> 
        <activity  
            android:name="com.rf.ezhangkong.MainActivity" 
            android:label="@string/app_name" > 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
        <!--百度地图LBS服务  --> 
         <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote">             
        </service> 
         
        <!--E掌控功能主界面  --> 
        <activity            
               android:name="com.rf.function.KaoqinActivity" 
         ></activity> 
        <!--E掌控六大功能界面  --> 
        <activity 
            android:name="com.rf.ezhangkong.WelcomeActivitys" 
            ></activity> 
         <activity 
            android:name="com.rf.function.QingjiaActivity" 
            ></activity> 
          <activity 
            android:name="com.rf.function.RenwuActivity" 
            ></activity> 
           <activity 
            android:name="com.rf.function.DingweiActivity" 
            ></activity> 
            
             <activity 
            android:name="com.rf.function.WdjtActivity" 
            ></activity> 
              <activity 
            android:name="com.rf.function.ZtxxActivity" 
            ></activity> 
              <activity 
            android:name="com.rf.function.WdbgActivity" 
            ></activity> 
               
              <activity 
            android:name="com.rf.function.YaoyaoActivity" 
            ></activity> 
               
            
            
          
         
    </application> 
    <!--E掌控相关权限  --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission> 
    <uses-permission android:name="android.permission.READ_LOGS"></uses-permission> 
     
    <!--相关应用权限  --> 
    <uses-permission android:name="android.permission.VIBRATE"/> 
     
 
</manifest>


 

 

 

标签:Android
声明

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

关注我们

一个IT知识分享的公众号