我有下一个设计:
CODE:
<LinearLayout
android:id="@+id/edit_name"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#99000000"
android:weightSum="1">
<FrameLayout
android:background="@color/tabIndicator"
android:layout_width="310dp"
android:layout_gravity="center"
android:clickable="true"
android:layout_height="wrap_content"
android:minHeight="136dp"
android:layout_weight="0.75">
<TextView
android:id="@+id/close_circle"
android:elevation="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="X"
android:background="@drawable/oval_corner"
android:backgroundTint="@color/colorPrimary"
android:layout_gravity="top|bottom|right"
android:layout_alignParentEnd="true"
android:paddingLeft="8dp"
android:paddingTop="3dp"
android:paddingRight="8dp"
android:paddingBottom="3dp"
android:textColor="@color/tabIndicator"
android:textStyle="bold"
android:layout_margin="2dp"
android:translationZ="2dp">
</TextView>
<TextView
android:id="@+id/textDescLarga"
android:layout_width="match_parent"
android:layout_height="208dp"
android:text="@string/text_placeholder_benefit"
android:textStyle="normal"
android:textSize="12dp"
android:textColor="@color/textDefault"
android:layout_gravity="bottom|center"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:maxLines = "12"
android:scrollbars="vertical">
</TextView>
<ImageView
android:id="@+id/imageMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/placeholder_benefit"
android:layout_gravity="top|left">
</ImageView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/textTitulo"
android:layout_gravity="center"
android:layout_marginBottom="0dp"
android:text="Nombre hotel"
android:textAlignment="center"
android:textStyle="bold"
android:textSize="19dp"
android:textColor="@color/cardview_dark_background"/>
</FrameLayout>
问题:
当我需要自动高度时,无论是增加还是减少,我都尝试了片段布局layout_height:wrap_content但文本重叠图像。
我做错了什么?还有另一种方法吗?
由于
答案 0 :(得分:1)
FrameLayout将其中的子项呈现在堆栈中 - 除非您使用layout_gravity来定位它们,否则将其叠加在另一个上面。 FrameLayout通常与整个可用屏幕空间一起使用 - layout_height和layout_width设置为匹配parent。
您的问题是因为您将layout_height设置为包装内容,它会将窗口小部件叠加在另一个上面。将layout_height设置为与parent匹配。或者更好的是,使用RelativeLayout。