spinner 基本使用

xml中布局

<android.support.v7.widget.AppCompatSpinner
    android:id="@+id/spinner"
    android:layout_width="wrap_content"
    android:layout_height="35dp"
    android:layout_gravity="center">

默认下拉三角为白色

想要更改颜色可以自定义一个style

<!--设置spinner下拉箭头颜色-->
<style name="SpnStyle">
    <item name="android:colorControlNormal">#000000</item>
</style>

在布局文件中添加这个样式,需要使用   theme 引入

<android.support.v7.widget.AppCompatSpinner
    android:id="@+id/spinner"
    android:layout_width="wrap_content"
    android:theme="@style/SpnStyle"
    android:layout_height="35dp"
    android:layout_gravity="center">

在使用多个spinner时候我在BaseActivity中抽取了个方法

    public void setSpinnerAdapter(AppCompatSpinner spinner, String[] items) {
//        android.R.layout.simple_spinner_item/R.layout.myspinner
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.myspinner, items);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

        adapter.notifyDataSetChanged();

    }

R.layout.myspinner 为自定义控件,里面只有一个Textview 用来展示选择的项目的样式 ,布局文件代码为

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:gravity="start"
    android:paddingStart="8dip"
    android:textColor="#333333"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee" />




Spinner是Android中的一个控件,用于提供下拉列表供用户选择。使用Spinner需要以下步骤: 1. 在XML布局文件中添加Spinner控件,如下所示: ```xml <Spinner android:id="@+id/my_spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" /> ``` 2. 在Activity中获取Spinner对象,并为其设置适配器,如下所示: ```java Spinner spinner = findViewById(R.id.my_spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); ``` 其中,R.array.planets_array是一个在res/values/strings.xml文件中定义的字符串数组资源,用于提供下拉列表的选项。 3. 可以为Spinner设置一个选中事件监听器,当用户选择某个选项时,会触发该监听器的回调方法,如下所示: ```java spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String selected = parent.getItemAtPosition(position).toString(); // 处理选中的选项 } @Override public void onNothingSelected(AdapterView<?> parent) { // 用户未选择任何选项时的处理 } }); ``` 在onItemSelected()方法中可以获取用户选择的选项,并进行相应的处理。 以上就是Spinner基本使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值