私は6つのボタンを備えたレイアウトを持っています。それらはすべて72x72dipのサイズなので、小さな画面では大きく、逆も同様です。画面サイズに相対的な画像の伸張
この問題にはどのように対処できますか?私は、ボタンが比較的同じサイズ(例えば、画面の幅の10%)になるようにしたいが、どうやって行うのか分からない。
これは私のレイアウトがどのように見えるかです:
レイアウトのソースコードは、hereを見つけることができます。
私は6つのボタンを備えたレイアウトを持っています。それらはすべて72x72dipのサイズなので、小さな画面では大きく、逆も同様です。画面サイズに相対的な画像の伸張
この問題にはどのように対処できますか?私は、ボタンが比較的同じサイズ(例えば、画面の幅の10%)になるようにしたいが、どうやって行うのか分からない。
これは私のレイアウトがどのように見えるかです:
レイアウトのソースコードは、hereを見つけることができます。
1 - あなたはイメージビューをlayout_width &の高さ72dipに修正しましたか? 2 - 通常は72dipはすべての画面サイズで同じです...しかし、あなたはまだ画像の解像度を3(またはXHDPIをサポートしている場合は4)にすることができます...
2 - あなたのために4枚の差分を追加できますDrawable :
2.1描画可能
2.2描画可能LDPI
2.3描画可能MDPI
2.4描画可能-hdpi
はあなたのイメージのために、以下の比率を考慮してください。 LDPIは3 MDPIは4 hdpiだからあなたはisealy比1.5と2を適用する他の画像のサイズを変更することができるように(だけで割る、最初HDPIイメージを作成することを確認してください6
であるです例えばLDPIの場合は2)。
3.ちょっと、どうしてあなたは自分ですべてをやったのですか?アンドロイド4.0に登場しているようですね、Androidの新しい「DashBoard」クラスを使ってみませんか?
はい、私は既に異なる画面サイズの異なる画像サイズを持っていますが、それらはすべて72x72dipです。 – Force
私は通常、幅と高さをwrap_content
に設定し、ImageButtonウィジェットでlayout_weight
を調整することで、各ボタンが同じ容量を占めるようにします。私は通常彼らがうまく整列するようにscaleType="center_inside"
を行います。その後、必要に応じて余白を付けてTableViewの端を囲みます。
いくつかの迅速な観察:
a。 TableLayoutは必要ありません。LinearLayoutを使用してください。
b。あなたは
android:drawableTop="@drawable/"
Cを使用して、それにボタンや画像を使用することができ、別々のImageViewのとのTextViewを必要としません。どのビューの幅/高さにも絶対値を使用しないでください。したがって、wrap_contentを使用してください。
サンプルレイアウトは次のようにする必要があります:問題の唯一のコードを投稿してください
<LinearLayout
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<!-- Row 1 -->
<LinearLayout
android:layout_height="0dp"
android:layout_width="fill_parent"
android:layout_weight="1.0"
android:orientation="horizontal">
<Button
android:layout_height="wrap_content"
android:layout_width="0"
android:layout_weight="1.0"
android:text="Preferences"
android:drawableTop="@drawable/Preferences" />
<Button
android:layout_height="wrap_content"
android:layout_width="0"
android:layout_weight="1.0"
android:text="Preferences"
android:drawableTop="@drawable/Preferences" />
</LinearLayout>
.
.
.
</LinearLayout>
</LinearLayout>
。誰も犯人を見つけるためにそれを掘るだろう;) – Adrian
私はすでにやりました。ポストされたコードはボタン用です。また、この特定のコードに関する問題ではなく、一般的な解決策です。 – Force