基本的微调器示例
Spinner 这是一种下拉输入。首先是布局
<Spinner
android:id="@+id/spinner" <!-- id to refer this spinner from JAVA-->
android:layout_width="match_parent"
android:layout_height="wrap_content">
</Spinner>
现在,第二个在 spinner 中填充值。在 spinner
中,主要有两种方法来填充值。
- 从 XML 本身创造 array.xml 中值目录下水库。创建这个
array
<string-array name="defaultValue">
<item>--Select City Area--</item>
<item>--Select City Area--</item>
<item>--Select City Area--</item>
</string-array>
现在在 sppiner XML 中添加此行
android:entries="@array/defaultValue"
- 你还可以通过 JAVA 添加值
如果你在 activity
中使用 cityArea =(Spinner)findViewById(R.id.cityArea); 否则,如果你在 fragment
使用
cityArea = (Spinner) findViewById(R.id.cityArea);
现在创建一个 arrayList
的 Strings
ArrayList<String> area = new ArrayList<>();
//add values in area arrayList
cityArea.setAdapter(new ArrayAdapter<String>(context
, android.R.layout.simple_list_item_1, area));
这看起来像
http://i.stack.imgur.com/BuLI2.jpg http://i.stack.imgur.com/3rFYB.jpg
根据设备 Android 版本,它将呈现样式
以下是一些默认主题
如果应用未在其清单中明确请求主题,Android 系统将根据应用的 targetSdkVersion 确定默认主题,以维持应用的原始期望:
Android SDK 版本 | 默认主题 |
---|---|
版本 < 11 | @android:风格/主题 |
版本介于 11 到 13 之间 | @android:款式/ Theme.Holo |
版本 14 及以上 | @android:款式/ Theme.DeviceDefault |
Spinner
可以在 xml 的帮助下轻松定制,例如
android:background="@drawable/spinner_background"
android:layout_margin="16dp"
android:padding="16dp"
在 XML 中创建自定义背景并使用它。
轻松获取微调器中所选项目的位置和其他详细信息
cityArea.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
areaNo = position;
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
在微调器中更改所选项目的文本颜色
这可以通过 XML 以两种方式完成
<item android:state_activated="true" android:color="@color/red"/>
这将更改弹出窗口中所选的项目颜色。
并从 JAVA 执行此操作(在 setOnItemSelectedListener(...)
中)
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
((TextView) parent.getChildAt(0)).setTextColor(0x00000000);
// similarly change `background color` etc.
}