android 标题栏

修改标题栏的高度

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的主题中重新设定此值。

相关推荐