android 自定义TitleBar

android中默认的TitleBar是很单调的,今天我想自定义一个TitleBar,有两种实现方式:
第一种:
    把Activity设置成没有Title的,然后在顶部模拟一个Title就可以了,这种方法就不说了;

第二种方法:
    自己写一个布局文件,然后赋值给Title,代码如下:
   
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_layout);
   

   其中,title_layout即你想要的TitleBar布局,如果你还想改变TitleBar的高度的话,那就得修改这个Activity的theme,代码如下:

    首先在styles文件中设置一个theme
   
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="custom_window_title_background">
        <item name="android:background">@drawable/images</item>
    </style>
    <style name="custom_title">
        <item name="android:windowTitleSize">64dp</item>
        <item name="android:windowTitleBackgroundStyle">@style/custom_window_title_background</item>
    </style>  
</resources>


然后再Mainfest中设置activity的theme:

<activity
            android:label="@string/app_name"
            android:name=".CustomTitleBarActivity"
             android:theme  = "@style/custom_title" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

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



android 自定义TitleBar

你可能感兴趣的:(android)