【问题标题】:how to align a view below centered in parent view in a relative layout如何在相对布局中以父视图为中心对齐下方的视图
【发布时间】:2016-08-03 11:14:15
【问题描述】:

我想在相对布局中将 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>

【问题讨论】:

    标签: android android-layout android-relativelayout android-percentrelativelayout


    【解决方案1】:

    将您的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">
    

    【讨论】:

      【解决方案2】:

      请试试这个。

      <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>
      

      【讨论】:

        【解决方案3】:

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

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

        而且你的 PercentRelativeLayout 高度必须是固定的或者 match_parent

        【讨论】:

          【解决方案4】:

          这是我的代码

          <?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>
          

          和屏幕截图

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-01-20
            • 2021-06-30
            • 1970-01-01
            • 1970-01-01
            • 2019-04-10
            • 2018-06-25
            相关资源
            最近更新 更多