2015-08-14 100 views
1

如何居中這三個圓形圖像並在其下面設置textView?如何在LinearLayout中放置imageButons並在其下面設置textView?

linearLayout的上下是水平線,其他代碼位於ScrollView佈局的子RelativeLayout中。

如果需要整個xml文件,告訴我。

Layout

下面是XML代碼:

<LinearLayout 
      android:id="@+id/linearLayout" 
      android:layout_marginBottom="24dp" 
      android:layout_marginTop="24dp" 
      android:orientation="horizontal" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/view" > 

     <ImageButton 
      android:id="@+id/Button1" 
      android:layout_width="70dp" 
      android:layout_height="70dp"      
      android:layout_marginTop="16dp" 
      android:layout_weight="1" 
      android:layout_gravity="center_horizontal" 
      android:scaleType="fitStart" 
      android:background="@drawable/circle" 
      android:src="@drawable/ic_horor_filmovi_ikonica" /> 

     <TextView 
      android:id="@+id/ime1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/Button1" 
      android:layout_alignLeft="@+id/Button1" 
      android:layout_alignRight="@+id/Button1" 
      android:text="Ime"/> 

     <ImageButton 
      android:id="@+id/Button2" 
      android:background="@drawable/circle" 
      android:src="@drawable/ic_horor_filmovi_ikonica" 
      android:layout_marginTop="16dp" 
      android:layout_weight="1" 
      android:layout_gravity="center_horizontal"    
      android:scaleType="fitStart" 
      android:layout_width="70dp" 
      android:layout_height="70dp"/> 

     <TextView 
      android:id="@+id/ime2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/Button2" 
      android:layout_alignLeft="@+id/Button2" 
      android:layout_alignRight="@+id/Button2" 
      android:text="Ime"/> 

     <ImageButton 
      android:id="@+id/Button3" 
      android:background="@drawable/circle" 
      android:src="@drawable/ic_horor_filmovi_ikonica" 
      android:layout_marginTop="16dp" 
      android:layout_weight="1"   
      android:layout_gravity="center_horizontal"  
      android:scaleType="fitStart" 
      android:layout_width="70dp" 
      android:layout_height="70dp"/> 

     <TextView 
      android:id="@+id/ime3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/Button3" 
      android:layout_alignLeft="@+id/Button3" 
      android:layout_alignRight="@+id/Button3" 
      android:text="Ime"/> 

    </LinearLayout> 

回答

1

通過將相對佈局屬性應用到線性佈局中,您犯了一個錯誤。 例如layout_below,layout_alignLeft,layout_alignRight。 達到你想要做什麼,最簡單的方法是用2線性佈局成相對佈局根這樣的:

<LinearLayout 
    android:id="@+id/linearLayoutButton" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="24dp" 
    android:layout_marginTop="24dp" 
    android:orientation="horizontal"> 

    <ImageButton 
     android:id="@+id/Button1" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="16dp" 
     android:layout_weight="1" 
     android:background="@drawable/circle" 
     android:scaleType="fitCenter" 
     android:src="@drawable/ic_horor_filmovi_ikonica" /> 


    <ImageButton 
     android:id="@+id/Button2" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="16dp" 
     android:layout_weight="1" 
     android:background="@drawable/circle" 
     android:scaleType="fitCenter" 
     android:src="@drawable/ic_horor_filmovi_ikonica" /> 


    <ImageButton 
     android:id="@+id/Button3" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="16dp" 
     android:layout_weight="1" 
     android:background="@drawable/circle" 
     android:scaleType="fitCenter" 
     android:src="@drawable/ic_horor_filmovi_ikonica" /> 

</LinearLayout> 

<LinearLayout 
    android:id="@+id/linearLayoutTextview" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/linearLayoutButton" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/ime1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Ime" /> 

    <TextView 
     android:id="@+id/ime2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Ime" /> 

    <TextView 
     android:id="@+id/ime3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:text="Ime" /> 
</LinearLayout> 

編輯:從fitStart變化scaleType到fitCenter。

也有另一種解決方案,它具備的優勢,以保持按鈕的大小是使用嵌套的線性佈局:

<LinearLayout 
    android:id="@+id/linearLayoutButton" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:weightSum="3"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="24dp" 
     android:layout_marginTop="24dp" 
     android:layout_weight="1" 
     android:orientation="vertical"> 

     <ImageButton 
      android:id="@+id/Button1" 
      android:layout_width="70dp" 
      android:layout_height="70dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="16dp" 
      android:background="@drawable/circle" 
      android:scaleType="fitCenter" 
      android:src="@drawable/ic_horor_filmovi_ikonica"/> 

     <TextView 
      android:id="@+id/ime1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="Ime" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="24dp" 
     android:layout_marginTop="24dp" 
     android:layout_weight="1" 
     android:orientation="vertical"> 

     <ImageButton 
      android:id="@+id/Button2" 
      android:layout_width="70dp" 
      android:layout_height="70dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="16dp" 
      android:background="@drawable/circle" 
      android:scaleType="fitCenter" 
      android:src="@drawable/ic_horor_filmovi_ikonica"/> 

     <TextView 
      android:id="@+id/ime2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="Ime" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="24dp" 
     android:layout_marginTop="24dp" 
     android:layout_weight="1" 
     android:orientation="vertical"> 

     <ImageButton 
      android:id="@+id/Button3" 
      android:layout_width="70dp" 
      android:layout_height="70dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="16dp" 
      android:background="@drawable/circle" 
      android:scaleType="fitCenter" 
      android:src="@drawable/ic_horor_filmovi_ikonica"/> 

     <TextView 
      android:id="@+id/ime3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:text="Ime" /> 
    </LinearLayout> 


</LinearLayout> 
+0

好的。我已經完成了並獲得了下面的TextViews,但仍然是圓圈,但在開始時,不在中心。 –

+0

嘗試使用scaleType =「fitCenter」而不是「fitStart」。 – xiaomi

+0

沒有,他們仍然是在開始。 –

1

1)使用嵌套的LinearLayout具有垂直取向包含圖片和文字,並把它添加到外人的LinearLayout。 2)將局外人線性佈局的重力設置爲中心應該達到你想要的。

我didnot測試它。請讓我知道如果不工作,或者我不清楚。

0

你應該改變你的:根的LinearLayout的「Android的寬度= warp_content」(換言之兩個LinearLayout的父LinearLayout)設置爲「Android:width = match_parent」。如果你想讓你的圖像按鈕放在中心,那麼它們的父母視圖的大小必須是整個屏幕。

相關問題