Android之Spinner用法详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android之Spinner⽤法详解
⽬录
⼀、Spinner的两种展⽰样式
⼆、Spinner相关⽅法
三、Spinner⽤法举例
XML布局⽂件activity_main.xml
选中⽂字样式item_select.xml
列表其他⽂字样式item_dropdown.xml
Java代码MainActivity.java
四、dropdown模式下的列表分割线
⼀、Spinner的两种展⽰样式
下拉列表的展⽰⽅式有两种,⼀种是在当前下拉框的正下⽅展⽰列表,此时把spinnerMode属性设置为dropdown;另⼀种是在页⾯中部以对话框形式展⽰列表,此时把SpinnerMode属性设置为dialog。

⼆、Spinner相关⽅法
setPrompt:设置标题⽂字。

setAdapter:设置下拉列表的适配器。

setSelection:设置当前选中哪项。

注意该⽅法要在setAdapter⽅法之后调⽤。

setOnItemSelectedListener:设置下拉列表的选择监听器,该监听器要实现接⼝OnItemSelectedListener。

三、Spinner⽤法举例
XML布局⽂件activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Spinner
android:layout_width="200dp"
android:id="@+id/spinner"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:spinnerMode="dropdown"
android:dropDownVerticalOffset="45dp"
android:background="@null"/>
</LinearLayout>
选中⽂字样式item_select.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@android:color/holo_blue_dark"
android:textSize="14sp"
android:textColor="@android:color/holo_red_light"
android:gravity="center"/>
列表其他⽂字样式item_dropdown.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="45dp"
android:textColor="@android:color/black"
android:textSize="14sp"
android:gravity="center"/>
Java代码MainActivity.java
public class MainActivity extends AppCompatActivity{
private String[] starArray = {"⽔星","⾦星","地球","⽕星","⽊星","⼟星"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(yout.activity_main);
initSpinner();
}
private void initSpinner(){
//声明⼀个下拉列表的数组适配器
ArrayAdapter<String> starAdapter = new ArrayAdapter<String>(this,yout.item_select,starArray);
//设置数组适配器的布局样式
starAdapter.setDropDownViewResource(yout.item_dropdown);
//从布局⽂件中获取名叫sp_dialog的下拉框
Spinner sp = findViewById(R.id.spinner);
//设置下拉框的标题,不设置就没有难看的标题了
sp.setPrompt("请选择⾏星");
//设置下拉框的数组适配器
sp.setAdapter(starAdapter);
//设置下拉框默认的显⽰第⼀项
sp.setSelection(0);
//给下拉框设置选择监听器,⼀旦⽤户选中某⼀项,就触发监听器的onItemSelected⽅法
sp.setOnItemSelectedListener(new MySelectedListener());
}
class MySelectedListener implements AdapterView.OnItemSelectedListener{
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(MainActivity.this,"您选择的是:"+starArray[i],Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
}
}
四、dropdown模式下的列表分割线
只需要在style中添加如下代码即可
添加样式
<style name="XSpinnerStyle" parent="android:Widget.ListView.DropDown">
<!-- 分隔线颜⾊ -->
<item name="android:divider">#000000</item>
<item name="android:dividerHeight">1dp</item>
</style>
然后在AppTheme中调⽤
<item name="android:dropDownListViewStyle">@style/XSpinnerStyle</item>
但注意,该分割线只有是dropdown样式时才会显⽰
到此这篇关于Android之Spinner⽤法详解的⽂章就介绍到这了,更多相关Android之Spinner⽤法内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

相关文档
最新文档