こんにちは、11個のボタンを持つアプリを開発しています。相対レイアウトを作成し、ボタンを希望どおりに配置しました。Android スタジオでは、nexus 4 画面をガイドとして使用しています。
320*480 などの低解像度の画面でアプリを実行すると、最後のボタンが消えるか、画面から消えます。下の写真に見られるように。
私の幅と高さはすべてディップです。これを解決するにはどうすればよいですか?
こんにちは、11個のボタンを持つアプリを開発しています。相対レイアウトを作成し、ボタンを希望どおりに配置しました。Android スタジオでは、nexus 4 画面をガイドとして使用しています。
320*480 などの低解像度の画面でアプリを実行すると、最後のボタンが消えるか、画面から消えます。下の写真に見られるように。
私の幅と高さはすべてディップです。これを解決するにはどうすればよいですか?
Android 向けに設計する場合は dp を使用するのが正しい方法ですが、すべての画面に同じ量の dp が正確に含まれているわけではないことを理解する必要があります。
誰にとってもレイアウトを少し小さくするか、ボタンのすべての行を水平の線形レイアウトに配置して、各ボタンを等しくandroid:layout_weight
することで、画面のサイズに関係なく均等に広がるようにすることができます。余白を使用して、それらの間の間隔を制御します。
同じ原理で重みを使用して垂直方向の問題を解決できます。すべての行を垂直線形レイアウトに配置し、それらに等しい重みを与えます。
LinearLayout
で使用する必要がありますandroid:weightSum
1. 親の android:weightSum を設定します
2.各子の android:layout_weight を比例的に設定します (例weightSum="6"
: 6 つの子:layout_weight="1"
それぞれ)
3.Dimension
ボタンのサイズを指定するために使用し、これとこれを確認します
レイアウト.xml
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="6">
<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:text="1" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal" />
///////////////
</LinearLayout>