zoukankan      html  css  js  c++  java
  • widget 常用UI控件介绍

     
     
    一、单选框

    单选框实例程序:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" >
     
        <!-- checkedButton 表示默认为woman的意思,它能够自动识别下面id为woman的控件 -->
      <RadioGroup 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:checkedButton="@+id/woman"
        android:id="@+id/sex"
          >
          
          <RadioButton
              android:text="@string/man"
              android:id="@+id/man"
              ></RadioButton>
        <RadioButton
            android:text="@string/woman"
            android:id="@id/woman"
             />
          </RadioGroup>
     
    </LinearLayout>

    image

    image

    二、复选框

    image

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" >
     
        <!-- checkedButton 表示默认为woman的意思,它能够自动识别下面id为woman的控件 -->
        <TextView
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="@string/favoriteString"
         android:id="@+id/favorite"/>
      <RelativeLayout 
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          >
          
          <CheckBox 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/pingpong"
            android:id="@+id/my"
            ></CheckBox>
            <CheckBox 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/pingpong"
            android:layout_toRightOf="@id/my"
            android:id="@+id/my2"
            ></CheckBox>
               
      </RelativeLayout>  
        
     
    </LinearLayout>

    三、ListView

    下面我们来学习 ListView 类的常用方法。
    � setAdapter(ListAdapter adapter)
    为 ListView 绑定一个 Adapter
    � setChoiceMode(int choiceMode)
    为 ListView 指定一个显示的模式,可选值有三个 CHOICE_MODE_NONE(默认值,没
    有单选或多选效果) 、 CHOICE_MODE_SINGLE (单选框效果) 、 CHOICE_MODE_MULTIPLE
    (多选框效果) ;
    � setOnItemClickListener (AdapterView.OnItemClickListener listener)
    为其注册一个元素被点击事件的监听器,当其中某一项被点击时调用其参 数
    listener 中的 onItemClick()方法。

    package com.buu.listview;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.ListAdapter;
    import android.widget.ListView;
    import android.widget.Toast;
     
    public class MainActivity extends Activity {
        private  String[]  options;
        ListView lView;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);  //主界面必须先显示,不然listview也就不存在了。
            options = getResources().getStringArray(R.array.options);
            
            lView =(ListView) findViewById(R.id.listView1);
    //      ListAdapter adapter = new  ArrayAdapter<String>(MainActivity.this, R.layout.main_lv_text, options);
            ListAdapter adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, options);
          lView.setAdapter(adapter);
          lView.setOnItemClickListener(new OnItemClickListener() {
              @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
                // TODO Auto-generated method stub
                  String option = options[position];
                Toast.makeText(MainActivity.this, "你选择的是:"+option, 2000).show(); 
            }
        });
        }
     
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
     
    }

    注意比较下面的方式:

    listView = (ListView) findViewById(R.id.listview);
    //创建一个ArrayAdapter
    ArrayAdapter adapter =
    new ArrayAdapter(this, android.R.layout.simple_list_item_1,name);
    listView.setAdapter(adapter);
    //listView注册一个元素点击事件监听器
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    //当某个元素被点击时调用该方法
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long
    arg3) {
    Toast.makeText(ListViewActivity.this,name[arg2] ,
    Toast.LENGTH_LONG).show();
    }

    说明:
    ArrayAdapter adapter = new ArrayAdapter(Context context, int
    textViewResourceId, Object[] objects);
    ArrayAdapter构造方法的参数解释:
    context :当前的Context对象
    textViewResourceId:一个包含了TextView元素的布局文件,用来指定ListView中的每一
    项的显示格式。如前面介绍过的,
    android.R.layout.simple_list_item_1是Android平台自带的一个
    布局文件,里面只包含一个TextView标签。其内容如下:
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="
    http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:gravity="center_vertical"
    android:paddingLeft="6dip"
    android:minHeight="?android:attr/listPreferredItemHeight"
    />
    objects:要显示的数据,为一个数组
    � onItemClick(AdapterView<?> parent, View view, int position, long id)

    参数介绍:
    parent:被点击的ListView对象
    view:被点击的那一项
    position:被点击的那一项在ListView中的位置
    id :被选中的那一行的id

    四、下拉列表框(Spinner)

    手机的屏幕较小,因此使用下拉列表来进行选择式输入是一个非常好的方式。Spinner
    与 ListView 一样,也是 AdapterView 的一个间接子类,是一个显示数据的窗口。
    Spinner 类常用的方法如下:
    � Spinner.getItemAtPosition(Spinner.getSelectedItemPosition()); 获取下拉列
    表框的值
    � 调 用 setOnItemSelectedListener() 方 法, 处理 下拉 列表 框被 选择 事件 , 把
    AdapterView.OnItemSelectedListener 实例作为参数传入
    可以在 Java 代码中通过 Adapter 绑定数据,也可以在布局文件中直接引用在资源文件
    中定义的数组。

    编写arrays.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <string-array name="colors">
    <item>red</item>
    <item>orange</item>
    <item>yellow</item>
    <item>green</item>
    <item>blue</item>
    <item>violet</item>
    </string-array>

    编写main.xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/colors"
            ></TextView>
        
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:prompt="@string/red"
            android:entries="@array/colors"
            >
        </Spinner>
    </LinearLayout>

    image

    其中:

    说明:
    android:prompt="@string/color_prompt"
    设置弹出下拉列表的标题。
    android:entries="@array/colors"
    指定下拉列表中的数据。本例为在arrays.xm文件中定义的colors数组。

  • 相关阅读:
    Microsoft .NET Framework v4.0 正确安装方法
    彻底解决C#实现DataTable导出EXCEL表格
    利用log4net记录操作日志
    [转]驱动程序开发—编译正传(5)
    [转]驱动程序开发-概述(1)
    论富客户端程序的webservice实现
    在Vista中编程控制防火墙设定(C#)
    [转]驱动程序开发—编译前传(4)
    C#系统较时
    [转]驱动程序开发—工具篇(2)
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/3597693.html
Copyright © 2011-2022 走看看