更改微调器图标并列出打开的样式

时间:2015-01-16 06:29:35

标签: android android-layout layout spinner android-spinner

现在,当我点击它时,我的spinnerand右侧显示单选按钮图像,它在弹出框中打开选项列表

我想要的是在微调器的右侧显示箭头,选项列表应该是下拉而不是带有白色背景的弹出框。

见图片

enter image description here

我该怎么做呢,我是否需要创建自定义微调器?

这是代码

XML

<Spinner
android:id="@+id/type_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/text_color"/>

爪哇

type_Spinner = (Spinner) findViewById(R.id.type_spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, new String[]{"Buy","Sale","Rent","Let"});
type_Spinner.setAdapter(adapter);

2 个答案:

答案 0 :(得分:1)

第一种方法

像这样更改xml中的Spinner

<Spinner
    android:id="@+id/type_spinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:drawable/btn_dropdown" />

theme的{​​{1}}更改为

Activity

在java类

android:Theme.Holo

第二种方法

使用ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, new String[]{"Buy","Sale","Rent","Let"}); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); type_Spinner.setAdapter(adapter); set gravity not layout_gravity Spinner而不是Button使用android:background="@android:drawable/btn_dropdown"设置背景来打开left|center_vertical {3}}点击该Button设置该按钮作为该PopUpWindow的锚点。在PopUpWindow ListViewOnItemClick和{{1}}使用PopupWindow

在该按钮中使用选定值更改文字

setText(java.lang.CharSequence)

  

如果您使用方法1,那么它将适用于 Post Gingerbread   版。方法2将适用于任何版本的android(未经过测试)   前froyo)。

答案 1 :(得分:1)

在布局中使用android:spinnerMode

android:spinnerMode="dropdown"

在活动中使用如下:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, new String[]{"Buy","Sale","Rent","Let"});
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
type_Spinner.setAdapter(adapter);
相关问题