PrisonJoker 2011-09-14
修改标题栏的高度
AndroidJavaXML
通过源码可以发现:在一般情况下,我们用的Screenstyle的是:
Screen_custom_title.xml文件
Java代码
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:fitsSystemWindows="true">
<FrameLayoutandroid:id="@android:id/title_container"
android:layout_width="match_parent"
android:layout_height="?android:attr/windowTitleSize"
style="?android:attr/windowTitleBackgroundStyle">
</FrameLayout>
<FrameLayoutandroid:id="@android:id/content"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:foregroundGravity="fill_horizontal|top"
android:foreground="?android:attr/windowContentOverlay"/>
</LinearLayout>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:fitsSystemWindows="true">
<FrameLayoutandroid:id="@android:id/title_container"
android:layout_width="match_parent"
android:layout_height="?android:attr/windowTitleSize"
style="?android:attr/windowTitleBackgroundStyle">
</FrameLayout>
<FrameLayoutandroid:id="@android:id/content"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:foregroundGravity="fill_horizontal|top"
android:foreground="?android:attr/windowContentOverlay"/>
</LinearLayout>
通过以上文档我们可知,title_container(标题栏)的高度由attr--windowTitleSize决定。所以改变windowTitleSize可以改变高度。如下代码:
Java代码
<?xmlversion="1.0"encoding="utf-8"?>
<resourcesxmlns:android="http://schemas.android.com/apk/res/android">
<stylename="CustomWindowTitleBackground">
<itemname="android:background">#565656</item>
</style>
<stylename="test"parent="android:Theme">
<itemname="android:windowTitleSize">50dp</item>//改变标题栏的高度
<itemname="android:textSize">10dp</item>//改变文件大小
<itemname="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
<?xmlversion="1.0"encoding="utf-8"?>
<resourcesxmlns:android="http://schemas.android.com/apk/res/android">
<stylename="CustomWindowTitleBackground">
<itemname="android:background">#565656</item>
</style>
<stylename="test"parent="android:Theme">
<itemname="android:windowTitleSize">50dp</item>//改变标题栏的高度
<itemname="android:textSize">10dp</item>//改变文件大小
<itemname="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
Java代码
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".TitleButton"
android:label="@string/app_name"
android:theme="@style/test">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".TitleButton"
android:label="@string/app_name"
android:theme="@style/test">
android:theme="@style/test"改变了主题,这样因为test中用到了<itemname="android:textSize">10dp</item>所以默认所有的文字都是这么大小,除非在相应View中,textSize重新被修改,或者所在Activity的主题中重新设定此值。