2012-12-05 63 views
0

即時嘗試設置這種佈局:水平顯示3個圖像,顯示在這些圖像下的下一行數字。在android中創建一個佈局

這裏的通緝佈局: enter image description here 這裏是我當前的XML佈局,顯示圖像細膩,但數字不正確下的圖像,我該怎麼辦呢? (你可以將它複製到一個新項目並觀看佈局)佈局: http://pastebin.com/aYb8eeQn

回答

6

在這裏,你去。

我用一個水平的LinearLayout與android:weightSum="3",每個孩子與android:layout_weight="1"。 另請注意,childred的寬度爲android:layout_width="0dip"

第二張照片比另外兩張更大。

enter image description here

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="100dip" 
     android:background="#333" 
     android:orientation="horizontal" 
     android:weightSum="3" > 

     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="fill_parent" 
      android:layout_margin="5dip" 
      android:layout_weight="1" 
      android:background="#fff" 
      android:gravity="center" 
      android:orientation="vertical" > 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="0dip" 
       android:layout_weight="1" 
       android:scaleType="centerInside" 
       android:src="@drawable/ic_launcher" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="1" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="fill_parent" 
      android:layout_margin="5dip" 
      android:layout_weight="1" 
      android:background="#fff" 
      android:gravity="center" 
      android:orientation="vertical" > 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="0dip" 
       android:layout_weight="1" 
       android:scaleType="centerInside" 
       android:src="@drawable/wonders_of_zen" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="2" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dip" 
      android:layout_height="fill_parent" 
      android:layout_margin="5dip" 
      android:layout_weight="1" 
      android:background="#fff" 
      android:gravity="center" 
      android:orientation="vertical" > 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="0dip" 
       android:layout_weight="1" 
       android:scaleType="centerInside" 
       android:src="@drawable/ic_launcher" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="3" /> 
     </LinearLayout> 
    </LinearLayout> 
+0

會不會影響圖片尺寸? – idish

+0

@idish我不明白,你是什麼意思影響圖片尺寸? –

+0

哦,我認爲它會調整圖像的大小,但由於scaleType =「centerInside」,它沒有。非常感謝你! – idish

0

你必須花時間使用一個大的RelativeLayout。我會告訴你兩個圖像,只是繼續延長模式更多。

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

    <ImageButton 
     android:id="@+id/img1" 
     android:onClick="myClickHandler" 
     android:layout_marginLeft="5dp" 
     android:layout_width="48dp" 
     android:layout_height="48dp" 
     android:src="@drawable/emptystar" /> 
    <ImageButton 
     android:id="@+id/img2" 
     android:onClick="myClickHandler" 
     android:layout_marginLeft="5dp" 
     android:layout_width="48dp" 
     android:layout_height="48dp" 
     android:src="@drawable/emptystar" 
     android:layout_toLeftOf="@+id/img1" 
     android:alignParentRight="True"/> 
    <TextView 
     android:textStyle="bold" 
     android:text="1" 
     android:layout_toLeftOf="@id/img1" 
     android:textSize="48sp" 
     android:layout_marginLeft="5dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/img1" 
     android:layout_alignRight="@+id/img1" 
     android:layout_alignLeft="@+id/img1" 
     android:layout_alignParentBottom="true"/> 
    <TextView 
     android:textStyle="bold" 
     android:text="2" 
     android:textSize="48sp" 
     android:layout_marginLeft="5dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/img2" 
     android:layout_alignRight="@+id/img2" 
     android:layout_alignLeft="@+id/img2" 
     android:layout_alignParentBottom="true"/> 
</RelativeLayout 
1

只需設置一個水平LinearLayout內均勻間隔LinearLayout第像這樣的東西(不完整,只是一個輪廓):

<LinearLayout 
    android:orientation="horizontal"> 
    <LinearLayout 
     android:layout_width="0" 
     android:layout_weight="1" 
     android:orientation="vertical"> 
     <ImageView /> <!-- first image --> 
     <TextView /> <!-- 1 --> 
    </LinearLayout> 
    <!-- Repeat the above LinearLayout as many times as you like --> 
</LinearLayout> 
0

不要擔心,嘗試如下

首先創建內部佈局根據自己的需要,

<LinearLayout android:layout_width="wc" ...height="wc" orientation="vertical"> 
//Here place your image view 
<ImageButton ..width="48dp" ..height="48dp" /> 

//Then place your text view 
<TextView ..width="match_parent" ..height="wc" ..gravity="center" /> 
</LinearLayout> 

複製此佈局相對佈局,並提供適當的位置。否則在另一個線性佈局(默認方向)內放置重複的佈局,如下所示

<LinearLayout ....> 
     <LinearLayout ...... orientation="vertical"> 
      <ImageButton ...... /> 
      <TextView ......... /> 
     </LinearLayout> 

     <LinearLayout ...... orientation="vertical"> 
      <ImageButton ...... /> 
      <TextView ......... /> 
     </LinearLayout> 

     <LinearLayout ...... orientation="vertical"> 
      <ImageButton ...... /> 
      <TextView ......... /> 
     </LinearLayout> 


</LinearLayout>