1

我想在相对布局中将 centerInParent 属性设置为 true 的视图下方对齐 Framelayout。我试过 layout_below 但它不起作用。然后我尝试删除 centerInParent 并尝试了 center_horizo​​ntal 和 center_vertical 但它也无济于事,FrameLayout 仍然卡在布局的顶部。这是我的布局代码:

<android.support.percent.PercentRelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="?actionBarSize"
            android:layout_marginTop="?actionBarSize"
            android:background="@android:color/transparent">

            <ImageView
                android:id="@+id/backdrop"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/white"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0"
                tools:src="@drawable/car_engine" />

            <View
                android:id="@+id/center_point"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:background="@color/g" />

            <View
                android:id="@+id/tab_scrim"
                android:layout_width="match_parent"
                android:layout_height="@dimen/gradiant_height"
                android:layout_alignParentBottom="true"
                android:background="@drawable/tab_scrim"
                app:layout_heightPercent="40%" />

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/center_point">

                <TextView
                    android:id="@+id/car_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:paddingBottom="5dp"
                    android:paddingTop="2dp"
                    android:textAlignment="center"
                    android:textColor="@color/w"
                    android:textSize="20sp"
                    android:textStyle="bold"
                    tools:text="@string/car_header_text" />

                <TextView
                    android:id="@+id/car_subtitle"
                    style="@style/TitleWhite"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/car_title"
                    android:paddingBottom="4dp"
                    android:paddingTop="4dp"
                    android:text="@string/car_sub_header"
                    android:textAlignment="center" />
            </FrameLayout>
        </android.support.percent.PercentRelativeLayout>
4

4 回答 4

2

将您的PercentRelativeLayout高度设置为match_parent

<android.support.percent.PercentRelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="?actionBarSize"
    android:layout_marginTop="?actionBarSize"
    android:background="@android:color/transparent">
于 2016-08-03T11:29:48.437 回答
1

请试试这个。

<FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:ali="@id/center_point">

            <TextView
                android:id="@+id/car_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingBottom="5dp"
                android:paddingTop="2dp"
                android:textAlignment="center"
                android:textColor="@color/w"
                android:textSize="20sp"
                android:textStyle="bold"
                tools:text="@string/car_header_text" />

            <TextView
                android:id="@+id/car_subtitle"
                style="@style/TitleWhite"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/car_title"
                android:paddingBottom="4dp"
                android:paddingTop="4dp"
                android:text="@string/car_sub_header"
                android:textAlignment="center" />
        </FrameLayout>
于 2016-08-03T11:25:40.020 回答
0

请检查您是否错误地使用了 android:ali

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/center_point">

并且您的 PercentRelativeLayout 高度必须是固定的或 match_parent

于 2016-08-03T11:28:04.543 回答
0

这是我的代码

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/backdrop"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:fitsSystemWindows="true"
    android:scaleType="centerCrop"
    app:layout_collapseMode="parallax"
    app:layout_collapseParallaxMultiplier="0"
    tools:src="@mipmap/ic_launcher" />

<View
    android:id="@+id/tab_scrim"
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:layout_alignParentBottom="true"
    android:background="@android:color/black"
    app:layout_heightPercent="40%" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:background="@android:color/holo_red_dark"
    android:layout_centerVertical="true">

    <TextView
        android:id="@+id/car_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="5dp"
        android:paddingTop="2dp"
        android:textAlignment="center"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:textStyle="bold"
        android:text="car carcar"
        android:layout_gravity="left"/>

    <TextView
        android:id="@+id/car_subtitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/car_title"
        android:paddingBottom="4dp"
        android:paddingTop="4dp"
        android:text="car header subtitle"
        android:textAlignment="center"
        android:layout_gravity="bottom"/>
</FrameLayout>

和屏幕截图 红块是framelayout

于 2016-08-03T11:34:07.807 回答