2011-12-20 11 views
2

私は円の背景画像.pngの画像ボタンを持っています。私は別の解像度の画面でそれをテストしていると、それはすべての異なるように見えます。それらの大部分は、一次元でそれを伸ばして円の形を歪めます。さまざまな画面解像度でボタンの円画像比率を維持します

これを処理する正しい方法は何ですか?私は、最高品質の画像に必要な3つの濃度レベルに精通していますが、問題は画像ボタン自体または親コンテナのいずれかのレイアウトタイプ属性にあると思います。

ありがとうございます。

main.xmlからの抜粋...

<LinearLayout 
    android:id="@+id/buttonArea" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:orientation="vertical" 
    android:padding="30dp"> 

    <ImageButton 
     android:id="@+id/button1" 
     android:background="@drawable/button_inactive" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_gravity="center"/> 

</LinearLayout> 

編集:のImageButtonからlayout_weight属性を削除するには、ほとんどのケースを固定し、すべてではありません。パディングはまだ円の比率を変更しているようです。スケールタイプは効果がありません。私のイメージはsrcではなく背景として設定されているのでしょうか?

+0

はそれがlayout_weightたか、ちょうどので、私は編集することができます?scaleTypeのために行くんでした他のユーザーのための答え... – Entreco

+0

私は両方をやってしまったが、layout_weightが鍵だった – JT703

+0

@Entreco - もう一つ起こっていること - 私はコンテナのパディングを増やすと、再び比率を歪ませる。 WYSIWYGエディタは正しく表示されないのでしょうか?それともこれ以上ありませんか? – JT703

答えて

3

あなたのImageButtonのandroid:layout_weight = "1"がこれの原因だと思います。画面のサイズに関係なく、ImageButtonは画面のサイズと同じになります。

その属性を削除してみます。それはあなたの問題を解決しない場合は、android:scaleType属性

<ImageButton 
    android:id="@+id/button1" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:layout_gravity="center" 
    android:background="@null" 
    android:src="@drawable/button_inactive" 
    android:scaleType="centerInside"/> 
+0

を適切に使用できます。このチェックマークを元に戻す必要がありました。画像はまだ歪んでいます。ほとんどの場合、layout-weightは固定されていますが、親コンテナのパディングはそれを台無しにしていません。スケールの種類は影響していないようです。私のイメージはsrcではなく背景として設定されているからでしょうか? – JT703

+1

私は答えを変更しました。バックグラウンドを@nullに、srcをドロウアブルに設定した場合は、scaleType = "centerInside"属性を適切に使用できます – Entreco

2

を見ているあなたは、あなたのイメージのone that keeps the aspect ratioに、あなたのImageViewののscaleType属性を設定することができます。 これらはすべて動作が多少異なるため、ニーズに合ったものを使用する必要があります(CenterInsideは最初から良いものです)。これが機能しない場合、あなたは常にあなたの画像(例えばlayout_width = "128dp)の設定heigh /幅を指定することができます

関連する問題