上記は、アプリにある「詳細」線形レイアウトです。ご覧のとおり、スピナーは「レベル1」と「レベルごと」よりも少し下がっているように見えます。スピナーをドロップダウンせずに、すべてを共通ベースで取得するためにxmlをいじりましたが、理解できません。スピナーの高さを「fill_parent」に設定しようとしましたが、同じベースライン上にありますが、スピナー内にテキストが表示されません。誰かが何をすべきかについて何かアイデアがありますか?
それらが存在するレイアウトのXML:
<LinearLayout
android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:orientation="horizontal" >
<TextView
android:id="@+id/blank"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="2" />
<TextView
android:id="@+id/levelOne"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/level_1" />
<TextView
android:id="@+id/perLevel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/per_level" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
これは、スピナー内のテキストのXMLです。
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/spinnerDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp">
</TextView>
クラス内でこれを使用して、必要なテキストサイズを入力します。
spinLevels = (Spinner) view.findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(), R.array.LevelChosen, R.layout.spinner_item);
spinLevels.setAdapter(adapter);