2012-04-06 407 views
0

此圖片的3塊定位描述了我需要創建: enter image description hereAndroid。在佈局

這是我的XML代碼:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:background="@drawable/bg" > 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="left" /> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical|center_horizontal" 
    android:orientation="horizontal"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="left" 
      /> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="right" 
      /> 
</LinearLayout> 
<!-- Now the block that has to be flexible --> 
<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingTop="15dp" 
    android:gravity="center" > 
<ImageView 
    android:layout_width="350dp" 
    android:layout_height="wrap_content"  
    android:layout_centerHorizontal="true" > 
</ImageView> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
/> 
</RelativeLayout> 
<!-- -------------------------------- --> 
    <RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

<ImageButton 
    android:layout_width="70dp" 
    android:layout_height="61dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentBottom="true" 
> 
</ImageButton> 

<ImageButton 
    android:scaleType="fitCenter" 
    android:layout_width="70dp" 
    android:layout_height="70dp" 
    android:layout_centerHorizontal="true" 
    android:layout_alignParentBottom="true" > 
</ImageButton> 

<ImageButton 
    android:layout_width="65dp" 
    android:layout_height="65dp" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentBottom="true" > 
</ImageButton> 

</RelativeLayout> 
</LinearLayout> 

塊,有伸展包含的ImageView和TextView中。 所以我的問題是 - 如何使這個中間塊是靈活的,但保持兩個其他塊,在頂部和底部留在任何屏幕高度?中間的街區將拉伸。

回答

0

對於頂部和底部的佈局:

android:layout_height="wrap_content" // or a value un pixels (e.g 100dp) 

和靈活的佈局:

android:layout_height="fill_parent" 

注意,你並不需要相對佈局。只需使用線性佈局,他們將正確堆疊

+0

@ kabuko,它不起作用。我做到了,然後插入了一個相當長的照片,底部塊下了屏幕:( – 2012-04-06 22:22:33

0

我只會使用LinearLayout。將它的orientation設置爲verticallayout_heightfill_parent。將中間部分的layout_weight設置爲一些正值,如1,並且對於固定部分,只需使用wrap_content或某些dp值。