此文,仅做为个人学习Android,记录成长以及方便复习!

首先是设置UI界面

纯文本模式,通过ArrayAdapter适配器实现!!!

1.activity_main.xml

定义一个Spinner 和一个 TextView

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="schemas.android/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <Spinner android:id="@ id/spinner" android:layout_width="100dp" android:layout_height="50dp"/> <TextView android:id="@ id/tv1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#711" android:layout_below ="@ id/spinner" /> </RelativeLayout>

接下来是Activity的内容

MainActivity.java

package com.rui.spinnerdemo; import android.support.v7.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.TextView; import java.util.ArrayList; import java.utilst; //加载监听事件OnItemClickListener public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{ private Spinner spinner;//定义Spinner private TextView tv1;//定义TextView private ArrayAdapter<String> arr_adapter;//定义适配器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化Spinner,TextView spinner = findViewById(R.id.spinner); tv1 = findViewById(R.id1); //数据源 List<String> list = new ArrayList<>(); list.add("海贼王"); list.add("火影"); list.add("死神"); list.add("其他"); //添加ArrayAdapter适配器,参数二调用系统预设布局文件 arr_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list); //Adapter设置一个下拉列表样式(上一步只是一个下拉列表框(不包括下拉菜单),这里要设置下拉菜单的样式) arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //设置tv1默认显示的语句! tv1.setText("你觉得最好看的动漫是:海贼王"); //Spinner加载适配器 spinner.setAdapter(arr_adapter); //Spinner加载监听事件 spinner.setOnItemSelectedListener(this); } @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { //从适配器里面获取选择的文本,当然也可以从list中获取 list.get[i] //以上方法中的int i,指的是选择了第几项 String name = arr_adapter.getItem(i); tv1.setText("你觉得最好看的动漫是:" name); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } }

PS:

Spinner配置中

android:spinnerMode="dialog"可以设置模式,效果弹窗如图,填写“dropdown”或者不填则默认是下拉列表!

spry菜单栏制作和下拉菜单(Spinner实现下拉菜单以及监听事件)(1)

,