Android之Spinner用法详解

目录

  • 一、Spinner的两种展示样式
  • 二、Spinner相关方法
  • 三、Spinner用法举例
    • XML布局文件activity_main.xml
    • 选中文字样式item_select.xml
    • 列表其他文字样式item_dropdown.xml
    • Java代码MainActivity.java
  • 四、dropdown模式下的列表分割线

    一、Spinner的两种展示样式 下拉列表的展示方式有两种,一种是在当前下拉框的正下方展示列表,此时把spinnerMode属性设置为dropdown; 另一种是在页面中部以对话框形式展示列表,此时把SpinnerMode属性设置为dialog。
    【Android之Spinner用法详解】
    二、Spinner相关方法
    • setPrompt:设置标题文字。
    • setAdapter:设置下拉列表的适配器。
    • setSelection:设置当前选中哪项。注意该方法要在setAdapter方法之后调用。
    • setOnItemSelectedListener:设置下拉列表的选择监听器,该监听器要实现接口OnItemSelectedListener。

    三、Spinner用法举例
    XML布局文件activity_main.xml


    选中文字样式item_select.xml


    列表其他文字样式item_dropdown.xml


    Java代码MainActivity.java
    public class MainActivity extends AppCompatActivity{ private String[] starArray = {"水星","金星","地球","火星","木星","土星"}; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initSpinner(); } private void initSpinner(){//声明一个下拉列表的数组适配器ArrayAdapter starAdapter = new ArrayAdapter(this,R.layout.item_select,starArray); //设置数组适配器的布局样式starAdapter.setDropDownViewResource(R.layout.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{ @Overridepublic void onItemSelected(AdapterView adapterView, View view, int i, long l) {Toast.makeText(MainActivity.this,"您选择的是:"+starArray[i],Toast.LENGTH_SHORT).show(); } @Overridepublic void onNothingSelected(AdapterView adapterView) { }}}


    四、dropdown模式下的列表分割线 只需要在style中添加如下代码即可
    添加样式
    #0000001dp

    然后在AppTheme中调用
    @style/XSpinnerStyle

    但注意,该分割线只有是dropdown样式时才会显示
    到此这篇关于Android之Spinner用法详解的文章就介绍到这了,更多相关Android之Spinner用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

      推荐阅读