2017-11-13 27 views
-2

2つのトグルボタンはアスペクト比を維持しません。どうすれば正方形にすることができますか?それは幅を埋めるべきではなく、内容を包むだけです。ToggleButtonイメージはアスペクト比を維持しません

enter image description here

  <LinearLayout 
       android:layout_width="50dp" 
       android:layout_height="50dp" 
       android:layout_marginTop="24dp" 
       android:orientation="horizontal"> 

       <ToggleButton 
        android:id="@+id/btn1" 
        android:layout_width="50dp" 
        android:layout_height="50dp" 
        android:layout_weight="1" 
        android:textOff="" 
        android:scaleType="centerCrop" 
        android:textOn="" 
        android:layout_margin="8dp" 
        android:background="@drawable/feedback_btn_selector" 
        /> 

       <ToggleButton 
        android:id="@+id/btn2" 
        android:layout_width="50dp" 
        android:layout_height="50dp" 
        android:layout_weight="1" 
        android:scaleType="centerCrop" 
        android:layout_margin="8dp" 
        android:background="@drawable/feedback_btn_selector" /> 
      </LinearLayout> 

feedback_btn_selector

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/btn_average" /> 
    <item android:state_pressed="true" android:drawable="@drawable/btn_average"/> 
    <item android:state_checked="true" android:drawable="@drawable/btn_average"/> 
    <item android:drawable="@drawable/btn_average_selected"/> 
</selector> 

描画可能-xhdpi:

enter image description here

+0

あなたがラップコンテンツとしてトグルボタンの幅を設定しています。内容に応じて幅を埋めなければなりません。 –

+0

@ Md.Didarulislamいいえ、これは動作しません。 –

答えて

0

どちらかあなたが好きな画像の小さなサイズを作ることができます固定サイズのToggleButtonにしてください。

+0

私はこれを試しましたが、動作しません。 –

0

は、このコードを試してみてください。

<LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="24dp" 
     android:orientation="horizontal"> 

     <ToggleButton 
      android:id="@+id/btn1" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:textOff="" 
      android:scaleType="centerCrop" 
      android:textOn="" 
      android:layout_margin="8dp" 
      android:background="@drawable/feedback_btn_selector" 
      /> 

     <ToggleButton 
      android:id="@+id/btn2" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:scaleType="centerCrop" 
      android:layout_margin="8dp" 
      android:background="@drawable/feedback_btn_selector" /> 
    </LinearLayout> 
+1

このソリューションでは、イメージは正方形ですが、画面の中央に均等に分布しません。 Android:gravity = "center_horizo​​ntal"をLinearLayoutに追加すると、解決策は正しいです。ありがとう! –

+0

私は比率の質問に答えました。あなたのために良い!あなたは解決策としてこの答えをチェックすることができます –

-1

正解:

<LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="24dp" 
     android:orientation="horizontal" 
        android:gravity="center_horizontal"> 

     <ToggleButton 
      android:id="@+id/btn1" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:textOff="" 
      android:scaleType="centerCrop" 
      android:textOn="" 
      android:layout_margin="8dp" 
      android:background="@drawable/feedback_btn_selector" 
      /> 

     <ToggleButton 
      android:id="@+id/btn2" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:scaleType="centerCrop" 
      android:layout_margin="8dp" 
      android:background="@drawable/feedback_btn_selector" /> 
    </LinearLayout> 
関連する問題