2016-07-16 106 views
-1

我創建彈出式佈局的標題爲TextView,2 ImageViews,2 RadioButtons,02TextViews來描述圖像和Button關閉彈出窗口有一些問題。這裏是佈局:Android彈出式佈局與單選按鈕

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


    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/txt1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/img1" 
      android:text="Choose Your Preference:" 
      android:textSize="24sp" 
      android:textStyle="normal|bold" /> 


     <RadioGroup 
      android:id="@+id/myRadioGroup" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:checkedButton="@+id/first"> 

      <RadioButton 
       android:id="@+id/first" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

      <RadioButton 
       android:id="@+id/second" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

     </RadioGroup> 

     <ImageView 
      android:id="@+id/img1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/txt2" 
      android:layout_weight="1" 
      android:contentDescription="@string/pre" 
      android:scaleType="centerCrop" 
      android:src="@drawable/optionone" /> 

     <TextView 
      android:id="@+id/txt2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/img2" 
      android:gravity="center_horizontal" 
      android:text="Shrink image and leave borders white." 
      android:textSize="12sp" 
      android:textStyle="normal|bold" /> 

     <ImageView 
      android:id="@+id/img2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/txt3" 
      android:layout_weight="1" 
      android:contentDescription="@string/pre" 
      android:scaleType="centerCrop" 
      android:src="@drawable/optiontwo" /> 

     <TextView 
      android:id="@+id/txt3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:text="Change image brightness." 
      android:textSize="12sp" 
      android:textStyle="normal|bold" /> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:text="Dismiss" 
      android:layout_below="@+id/txt3"/> 
    </LinearLayout> 

</LinearLayout> 

它看起來像這樣:

description

不過,我有兩個問題是:

我使用android:layout_above:""一個LinearLayout內,但它只適用於這種方式,不在RelativeLayout之內,如果我將切換到RelativeLayout,我將無法使用android:layout_weight=""

2.我不能讓RadioButton「第一」到ImageView「IMG1」左,RadioButton「秒」到的ImageView「IMG2」左。

謝謝。

回答

1

RadioButton類延伸TextView。因此,您不必爲每個選項圖像使用單獨的ImageView,而可以使用RadioButtonandroid:drawable屬性在需要的位置顯示圖像。

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

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/txt1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Choose Your Preference:" 
      android:textSize="24sp" 
      android:textStyle="normal|bold" /> 


     <RadioGroup 
      android:id="@+id/myRadioGroup" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:checkedButton="@+id/first"> 

      <RadioButton 
       android:id="@+id/first" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Shrink image and leave borders white." 
       android:textSize="12sp" 
       android:textStyle="normal|bold" 
       android:drawableBottom="@drawable/optionone" /> 

      <RadioButton 
       android:id="@+id/second" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Change image brightness." 
       android:textSize="12sp" 
       android:textStyle="normal|bold" 
       android:drawableBottom="@drawable/optiontwo" /> 

     </RadioGroup> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:text="Dismiss" /> 
    </LinearLayout> 

</LinearLayout> 
+0

那麼在LinearLayout中使用android:layout_above =「」會怎樣? – DAVIDBALAS1

+0

你是對的。 在試圖幫助我時,在複製,粘貼和更正原始xml佈局時發生錯誤,而不是刪除'layout_above ='行。 我很抱歉。請原諒我。我已經刪除* YOUR *代碼 –

+0

這樣的錯誤行這沒關係,我只是認爲你有一個錯誤,對不起兄弟:( – DAVIDBALAS1