zoukankan      html  css  js  c++  java
  • Android Spinner组件的使用方法

    Spinner是什么呢,其实就是我们常见的下拉框,比如:

    首先,我们要创建一个Spinner,才能在Spinner中添加我们想要的元素,在xml文件中:

    <Spinner
            android:id="@+id/Spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
    </Spinner>
    
    <!--事件响应时展示的图片 !-->
        <ImageButton
            android:id="@+id/turtleImg"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/mike"/>

    接着,我们要写我们的java程序了, 主要是onCreate()方法:

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            List<String> turtleList = new ArrayList<>();
            turtleList.add("Don");
            turtleList.add("Mike");
            turtleList.add("Leo");
            turtleList.add("Raph");
            Spinner spinner = findViewById(R.id.Spinner);
            // 为下拉列表定义一个适配器,使用到上面定义的turtleList
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, turtleList);
            // 为适配器设置下拉列表下拉时的菜单样式,有好几种样式,请根据喜好选择
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            // 将适配器添加到下拉列表上
            spinner.setAdapter(adapter);
            // 为下拉框设置事件的响应
            spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                /**
                 *
                 * @param adapterView
                 * @param view   显示的布局
                 * @param i      在布局显示的位置id
                 * @param l      将要显示的数据
                 */
                @Override
                public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                    ArrayAdapter<String> adapter = (ArrayAdapter<String>) adapterView.getAdapter();
                    ImageButton turtleImaBtn = findViewById(R.id.turtleImg);
                    if(adapter.getItem(i).equals("Don")){
                        turtleImaBtn.setImageResource(R.drawable.don);
                    }
                    else if(adapter.getItem(i).equals("Mike")){
                        turtleImaBtn.setImageResource(R.drawable.mike);
                    }
                    else if(adapter.getItem(i).equals("Leo")){
                        turtleImaBtn.setImageResource(R.drawable.leo);
                    }
                    else if(adapter.getItem(i).equals("Raph")){
                        turtleImaBtn.setImageResource(R.drawable.raph);
                    }
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> adapterView) {
    
                }
            });
    
        }

    最后我们运行结果,如图所示:

  • 相关阅读:
    IDEA生成可执行的jar文件
    Android ROM包定制(解包,增删模块,打包)
    frida的用法--Hook Java代码篇
    C语言sprintf和sscanf函数用法
    C语言memcpy函数的用法
    自己动手编译Android(LineageOS)源码
    j2ee高级开发技术课程第三周
    linux内核学习之全局描述符表(GDT)(二)
    螺旋队列顺时针方向 和逆时针方向的实现
    zigzag数组:输入n,求一个nXn矩阵,规定矩阵沿45度递增,形成一个zigzag数组
  • 原文地址:https://www.cnblogs.com/leavescy/p/7809953.html
Copyright © 2011-2022 走看看