基本的微調器示例
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.
}