2016-10-26 107 views
0

我有下一個設計:幀佈局固定元件

Actual design app

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

使用相對佈局 – Sanjeet

回答

1

的FrameLayout使得它在一個堆棧的孩子 - 一個在另一個之上,除非你使用layout_gravity放置它們。 FrameLayout通常用於整個可用的屏幕空間 - layout_height和layout_width被設置爲與父級匹配。

您的問題是因爲您已將layout_height設置爲包裝內容,它會將小部件疊加在另一個之上。將layout_height設置爲與父級匹配。或者更好的情況下,使用RelativeLayout。