• 进阶篇-用户界面:4.Android中常用组件


    1.下拉菜单

    在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可。这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinner。

    方法一:

    以资源方式,静态展示 Spinner 选项:

    <Spinner 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner2"
        android:entries="@array/spingarr"
        />

    数据文件:

    复制代码
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string-array name="spingarr">
         <item>北京</item>  
        <item>上海</item>  
        <item>广州</item>  
        <item>深圳</item>  
        </string-array>
    </resources>
    复制代码

     

    用法 2 :

    以代码方式,动态展示 Spinner 选项,用适配器给Spinner添加数据

    复制代码
    package com.example.testspanner;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.ArrayAdapter;
    import android.widget.Spinner;
    
    
    public class MainActivity extends Activity {
    private Spinner spinner;
    private List<String> data_list;
    private ArrayAdapter<String> arr_adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.spinner);
            spinner = (Spinner) findViewById(R.id.spinner);
        
            //数据
            data_list = new ArrayList<String>();
            data_list.add("北京");
            data_list.add("上海");
            data_list.add("广州");
            data_list.add("深圳");
            
            //适配器
            arr_adapter= new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_list);
            //设置样式
            arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            //加载适配器
            spinner.setAdapter(arr_adapter);
            
        }
    
    }
    复制代码

    布局文件增加:

    <Spinner 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner"
        />

    2.日期选择器

    btnChooseData.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
                        @Override
                        public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
                            System.out.println(String.format("%d-%d-%d",i,i1,i2));
                        }
                    },2016,1,1).show();
                }
            });

    点击按钮触发一个日历选择器。

    3.日期选择器

    btnChooseData.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
                        @Override
                        public void onTimeSet(TimePicker timePicker, int i, int i1) {
                            System.out.println(String.format("%d:%d",i,i1));
                        }
                    },0,0,true).show();
                }
            });
        }

    点击按钮触发一个时间选择器

    4.单项选择

     <RadioGroup
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
    
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="New RadioButton1"
                android:id="@+id/rba" />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="New RadioButton2"
                android:id="@+id/rbb" />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="New RadioButton3"
                android:id="@+id/rbc" />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="New RadioButton4"
                android:id="@+id/rbd" />
        </RadioGroup>

    如果要判断单选组里面哪个选项被选中:

    System.out.println(rba.isChecked());

    5.多项选择

    只需要注意多选对象有一个方法 onCheckedChanged();

     

  • 相关阅读:
    eclipse 设置默认编码为Utf-8
    重新打开Eclipse出现“An internal error has occurred. java.lang.NullPointerException”
    Eclipse启动时出现错误 An internal error occurred during: "Updating indexes"
    eclipse卸载自带maven
    JAVA实现SFTP实例
    springboot-24-restTemplate的使用
    Jmeter在restful风格接口测试中的应用
    Swagger介绍-一套流行的API框架
    SQL 里ESCAPE的用法
    CALL 'SYSTEM' ID 'COMMAND'
  • 原文地址:https://www.cnblogs.com/androidNot/p/5634584.html
Copyright © 2020-2023  润新知