Android自定义Activity窗口标题

通常窗口标题是在AndroidManifest.xml中通过android:label="@string/app_name"或setText方法来设置,如果我们想在窗体标题中放置自定义标题如:图片或按钮等之类的组件,就无从下手了。

下面在layout文件夹中有两个界面配置文件,main.xml是主窗口的界面,title.xml是主窗口的标题。

main.xml

?
1
2
3
4
5
6
7
8
9
10
11
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 = "fill_parent" >
     < Button
         android:text = "@+id/Button01"
         android:id = "@+id/Button01"
         android:layout_width = "wrap_content"
         android:layout_height = "wrap_content"
         />
LinearLayout >

title.xml

?
1
2
3
4
5
6
7
8
9
10
11
xml  version = "1.0"  encoding = "utf-8" ?>
< LinearLayout  xmlns:android = "http://schemas.android.com/apk/res/android"
     android:layout_width = "wrap_content"
     android:layout_height = "wrap_content" >
     < TextView
         android:id = "@+id/text"
         android:layout_width = "wrap_content"
         android:layout_height = "wrap_content"
         android:layout_alignParentLeft = "true"
         android:text = "自定义头"  />
LinearLayout >

接下来看下我们的实例程序。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package  com.example;
 
import  android.app.Activity;
import  android.content.Intent;
import  android.os.Bundle;
import  android.view.Window;
 
public  class  main  extends  Activity {
     /** Called when the activity is first created. */
     @Override
     public  void  onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
         requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); /
         setContentView(R.layout.main);
         getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,   
                 R.layout.title);
     }
}

你可能感兴趣的:(Android)