アラート ダイアログ内にスピナーがあります。スピナーアイテム間のパディングを減らしたかったので、以下を実装しました:
spinner_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="#fff" >
<TextView
android:id="@+id/tvCust"
android:layout_width="200dp"
android:layout_height="30dp"
android:gravity="left|center_vertical"
android:textColor="#000"
android:textSize="15sp" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentRight="true" />
</RelativeLayout>
アクティビティ コードには次のものが含まれます。
spinner= (Spinner) dialog.findViewById(R.id.spinner);
String arr[] = { "1", "2", "3" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
CameraActivity.this, R.layout.spinner_row, R.id.tvCust,arr);
spinner.setAdapter(adapter);
下のスクリーンショットでわかるように、実際には の一部であるスピナーにラジオ ボタンが表示されていますspinner_row.xml
。textview の幅は 200dp ですが、スピナーの長さはわずか 130dp であるため、ラジオ ボタンはスピナーに表示されるべきではありません。どうすれば削除できますか?
また、スピナー項目のいずれかをクリックしても、スピナー ポップアップが期待どおりに消えません (スピナー項目リストで 3 つのチェック ボックスがすべてオンになっていることに注意してください)。setOnItemSelectedListener
アイテムのクリックで呼び出されていません。
どんな助けでも感謝します。
編集 1
farrukhの提案に従って、私は彼のコードを試しました。結果は次のとおりです。