我已经制作了一个自定义微调器,但尺寸并不是我想要的。微调器变得很大,以获得我需要的列表中的间距。我希望能够独立于微调器按钮的大小来调整微调器的行的大小。我希望微调器很薄,然后我希望剖面行间隔很大。 (见底部图片):
目前,微调器行的xml是:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:padding="5dip">
<ImageView android:layout_width="32sp" android:src="@drawable/icon"
android:id="@+id/spinnerimage" android:layout_height="32sp" />
<TextView android:textSize="22sp" android:textStyle="bold" android:textColor="#000"
android:layout_width="fill_parent" android:id="@+id/category"
android:layout_height="fill_parent" android:paddingLeft="5sp" />
</TableRow>
</TableLayout>
我想使用相对布局,但表布局给了我稍微好一点的间距。如果我尝试设置高度,它将切断行中的文本和图标。 main.xml中的微调器是:
<Spinner android:id="@+id/catspinner"
android:layout_marginLeft="25dip" android:layout_marginRight="25dip"
android:layout_width="fill_parent" android:layout_centerHorizontal="true"
android:layout_height="wrap_content" android:prompt="@string/prompt"
android:background="@drawable/yellow_btn"
android:layout_centerVertical="true" android:drawSelectorOnTop="true" />
我想让微调器的大小与标准的android微调器一样(右侧。)我的目前是反转的,微调器很大,行间距太小。
任何想法?
答案 0 :(得分:7)
设置适配器时说adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
这应该工作......
答案 1 :(得分:1)
根据您的需要使用以下代码......
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.Questions, R.layout.custom_spinner_list);
adapter.setDropDownViewResource(R.layout.customer_spinner);
spin.setAdapter(adapter);
custom_spinner_list.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:text="@+id/TextView01"
android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="12dp"
android:textColor="#000000">
</TextView>
customer_spinner.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:text="@+id/TextView01"
android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="12dp"
android:textColor="#000000"
android:height="42dp"
android:gravity="center_vertical"
android:padding = "2dp">
</TextView>
答案 2 :(得分:1)
也许现在已经很晚了,但无论如何我会分享这个,因为我遇到了类似的问题。
您需要为Spinner本身使用Views“simple_spinner_item”,并为下拉列表使用“simple_spinner_dropdown_item”。
以下是代码段:
Spinner spnCat = (Spinner) findViewById(R.id.idea_category);
Cursor c = myDBHelper.getCategories();
startManagingCursor(c);
if (c != null) {
// use the simple_spinner_item view and text1
SimpleCursorAdapter adapterCat = new SimpleCursorAdapter(this,
android.R.layout.simple_spinner_item,
c,
new String[] {c.getColumnName(1)},
new int[] {android.R.id.text1});
spnCat.setAdapter(adapterCat);
// use the simple_spinner_dropdown_item
adapterCat.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);
}
希望有所帮助。