Android:自定义标题栏不适合页面

时间:2013-08-22 20:42:58

标签: android titlebar

我给我的应用程序一个自定义标题栏,它似乎隐藏在主页面内容后面的一半: enter image description here

styles.xml 中的

我有:

</style>
    <style name="NewsAppTheme" parent="android:Theme.Light" >
</style>

在main.xml (带标题栏的页面)

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="@dimen/tiny_4dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <!-- Top Row -->
        <LinearLayout
            android:baselineAligned="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <RelativeLayout
                android:id="@+id/relative_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="@dimen/tiny_4dp" >

                <ImageView
                    android:id="@+id/img_head"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="true"
                    android:contentDescription="@string/text_head"
                    android:scaleType="fitXY"
                    android:src="@drawable/headlines" />

                <TextView
                    android:id="@+id/text_head"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@id/img_head"
                    android:layout_alignRight="@id/img_head"
                    android:layout_alignTop="@id/img_head"
                    android:gravity="left"
                    android:padding="@dimen/medium_15dp"
                    android:text="@string/text_head"
                    android:textSize="@dimen/large_20dp"
                    android:textStyle="bold" />

            </RelativeLayout>

            <RelativeLayout
                android:id="@+id/relative_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:padding="@dimen/tiny_4dp" >

                <ImageView
                    android:id="@+id/img_custom1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="true"
                    android:contentDescription="@string/text_custom1"
                    android:scaleType="fitXY"
                    android:src="@drawable/headlines" />

                <TextView
                    android:id="@+id/text_custom1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@id/img_custom1"
                    android:layout_alignRight="@id/img_custom1"
                    android:layout_alignTop="@id/img_custom1"
                    android:gravity="left"
                    android:padding="@dimen/medium_15dp"
                    android:text="@string/text_custom1"
                    android:textSize="@dimen/large_20dp"
                    android:textStyle="bold" />

            </RelativeLayout>
        </LinearLayout>


        ..... and so on


    </LinearLayout>
</ScrollView>

titlebar.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="35dp"
    android:layout_gravity="center_horizontal"
    android:orientation="horizontal"
    android:padding="@dimen/small_8dp" >

    <ImageView
        android:id="@+id/title_menu"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/small_8dp"
        android:src="@drawable/ic_grid" 
        android:contentDescription="@string/title_menu"/>

    <TextView
        android:id="@+id/title_title"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:paddingLeft="@dimen/small_8dp"
        android:paddingRight="@dimen/small_8dp"
        android:paddingTop="@dimen/tiny_4dp"
        android:text="@string/title_title" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="right|center_vertical"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/title_minus"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:contentDescription="@string/title_minus"
            android:paddingRight="@dimen/small_8dp"
            android:src="@drawable/ic_minus" />

        <ImageView
            android:id="@+id/title_add"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:contentDescription="@string/title_add"
            android:paddingRight="@dimen/small_8dp"
            android:src="@drawable/ic_ok" />
    </LinearLayout>

</LinearLayout>

我做过什么导致它切断了标题栏?我一直在关注那些说条应该高达35dp的教程,虽然改变它似乎没什么影响。

1 个答案:

答案 0 :(得分:2)

您需要更改height的{​​{1}}以确保其获得所需金额,以便包含此titlebar.xml的其他Views不会占用它需要的房间。因此,将layout更改为height而不是固定wrap_content

dp