1

我試圖在屏幕底部設置四個按鈕,並使imageView填充其餘的地方。然而,我嘗試了「0dp」+「weight = 1」方法,並在線建議了其他幾種方法(不記得我現在已經嘗試過的方式),但imageView仍然充滿整個屏幕上的按鈕。如何避免兩個linearLayout在Android中相互重疊?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context=".MainActivity"> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white"> 

    <ImageView 
     android:id="@+id/viewImage" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     /> 

    <TextView android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/runtime" 
     android:text="Rendering......" 
     android:singleLine="true" 
     android:textColor="#666666" 
     android:textSize="14dip" 
     android:visibility="gone"/> 

</LinearLayout> 

<LinearLayout 
    android:id="@+id/btnsLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:background="@android:color/black"> 

    <Button 
     android:id="@+id/btnSelectPhoto" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" 
     android:text="Select Photo"/> 

    <Button 
     android:id="@+id/btnSavePhoto" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" 
     android:text="Save Photo"/> 

    <Button 
     android:id="@+id/btnLocalFilter" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" 
     android:text="Local Filter"/> 

    <Button 
     android:id="@+id/btnCloudFilter" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.25" 
     android:text="Cloud Filter"/> 

</LinearLayout> 

</RelativeLayout> 
+1

及其因爲第一個'LinearLayout'已'layout_height'設定爲'match_parent'並且由於根是一個'RelativeLayout'第二線性佈局被描繪在頂部的第一個,也是因爲你指定'alignParentBottom'爲第二個按鈕的頂部繪製爲true – akash93

回答

1

實現此目的的一種方法如下;

<RelativeLayout 
.... > 
    <LinearLayout 
     android:id="@+id/btnsLayout" 
     ... > 
     ...button elements 
    </LinearLayout> 
    <LinearLayout 
     ... 
     android:layout_above="@id/btnsLayout" 
     ...> 
     ...image view etc 
    </LinearLayout> 
</RelativeLayout> 

這樣,您可以告訴最外層的RelativeLayout來佈置包含LinearLayout的包含LinearView上方按鈕的LinearLayout。

3

android:layout_above="@+id/btnsLayout"在第一LinearLayout

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:layout_above="@+id/btnsLayout"> 

    ... 

</LinearLayout>