Android学习笔记(十八):高级UI组件----列表类组件(下拉列表框Spinner)

列表类组件(下拉列表框Spinner)

  1. 下拉列表框:通常用于提供一系列可以选择的列表项来供用户选择。下拉列表框的右下角有一个小三角,点击这个小三角就可以展开列表框,选择某一项后列表框自动收起,列表框会显示选择的一项的内容。
    在这里插入图片描述
    在activity_main.xml文件中,用Spinner标签来定义下拉列表框:
    在这里插入图片描述
  2. 属性:
  • android:layout_width和android:layout_height :取值为wrap_content,即包裹其自身的内容。
  • android:entries :设置下拉列表框中的选项。取值为一个数组资源。
    在这里插入图片描述
    首先在res/value目录下创建一个数组资源文件:
    在这里插入图片描述
    在这里插入图片描述
    在array.xml文件中用string-array标签定义一个数组,用item标签定义数组中每一项的值:
    在这里插入图片描述
    运行后可以看到结果:
    在这里插入图片描述
  1. 使用适配器来设置下拉列边框的选项内容
    可以不使用android:entries属性,直接在Java代码中使用适配器。
    首先,给下拉列表框设置一个id,并注释掉android:entries属性:
    在这里插入图片描述
    在Java文件中进行如下操作:
package com.example.spinnerdemo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    //定义一个下拉列表框
    private Spinner spinner;
    //定义一个Sting[]来存放选项内容
    private String[] type=new String[]{"全部","电影","游戏","图书"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //定义一个数组适配器。第一个参数为一个上下文对象;
        //第二个参数为android自带的下拉列表框的样式资源;
        //第三个参数为存放选项内容的Strings[]
        ArrayAdapter adapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_spinner_item,type);
        //设置下拉列表框的下拉格式
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //获取下拉列表框
        spinner=findViewById(R.id.spinner);
        //将adapter设置为spinner的适配器
        spinner.setAdapter(adapter);
    }
}

运行结果:
在这里插入图片描述
选择游戏:
在这里插入图片描述
4.在Java代码中获取用户选择的选项内容:
在这里插入图片描述
在这里插入图片描述
运行结果:
刚运行:
在这里插入图片描述
选择游戏:
在这里插入图片描述

发布了32 篇原创文章 · 获赞 10 · 访问量 5437

猜你喜欢

转载自blog.csdn.net/weixin_44480874/article/details/104357946