android 自定义标题

public class MainActivity 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);
    }
    
    public void add(View v){
        Toast.makeText(this, "按钮被点击", 1).show();
    }
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 由于系统为窗口默认设置为帧布局,所以导致自定义布局和窗口之间存在间距,
通过自定义样式集成系统样式,来处理自定义标题和窗口之间的间距-->
    <style name="itcastTheme" parent="android:Theme">
         <item name="android:windowContentOverlay">@drawable/nonecolor</item>
         <item name="android:windowTitleSize">44dp</item>
         <item name="android:windowTitleBackgroundStyle">@style/itcastbg</item>
    </style>
   
    
    <style name="itcastbg">
        <item name="android:background">@drawable/rectangle</item>
    </style>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.itcast.title"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

                                                          <!--为Actitvity设置自定义主题-->
        <activity android:name=".MainActivity" android:theme="@style/itcastTheme">
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

 

posted @ 2014-01-15 09:48  天之涯0204  阅读(227)  评论(0编辑  收藏  举报