画像ボタンの背景に設定している独自の描画可能オブジェクトを作成しました。(ここに記載)
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#A7BF1D"/> </shape>
これらを画面の横に垂直方向に均等に配置したいので、android:layout_weight を使用してこれを実現します。(ここに記載)
<LinearLayout
android:id="@+id/left_bar"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="8">
<Button
android:id="@+id/btnCall"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"
android:background="@drawable/btn_circle"
android:text="Call"
android:textSize="12sp" />
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"></Space>
<Button
android:id="@+id/btnSpeak"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"
android:background="@drawable/btn_circle"
android:text="Speak"
android:textSize="12sp" />
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"></Space>
<Button
android:id="@+id/btnRecordedMessage"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"
android:background="@drawable/btn_circle"
android:text="Recorded Message"
android:textSize="12sp" />
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"></Space>
<Button
android:id="@+id/btnSelectAll"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"
android:background="@drawable/btn_circle"
android:text="Select All Units"
android:textSize="12sp" />
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"></Space>
<Button
android:id="@+id/btnDeselectUnits"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"
android:background="@drawable/btn_circle"
android:text="Deselect Units"
android:textSize="12sp" />
<Space
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"></Space>
<Button
android:id="@+id/btnAnswer"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="1"
android:background="@drawable/btn_circle"
android:text="Answer"
android:textSize="12sp" />
</LinearLayout>
私が何をしても、それらのそれぞれに合わせてスケーリングすることはもちろん、どの画面サイズでも均等に配置することはできないようです。私の問題は、円を形成するために高さと幅を指定する必要があることだと思いますが、それを行うとすぐに、(より良い用語が必要なため)「ハードコーディング」されているため、layout_weight が台無しになります。
画面の下に均等に配置された6つの円形ボタンの垂直レイアウトを作成することは可能だと思いますが、どうすれば解決できませんか? なしでも試してみましたが、代わりに<Space>
パディングを追加しました。<Button>