Android开发之选项组件

一、基础知识:

单项选择组件 :  RadioGroup   互相排斥

多项选择组件 :  CheckBox      彼此独立

二、代码展示:

1."Activity_08srcyanactivity_08MainActivity.java"

[java]

package yan.activity_08; 

 

import android.os.Bundle; 

import android.app.Activity; 

import android.view.Menu; 

import android.widget.CheckBox; 

import android.widget.CompoundButton; 

//import android.widget.CompoundButton.OnCheckedChangeListener;  

import android.widget.CompoundButton.OnCheckedChangeListener; 

import android.widget.RadioButton; 

import android.widget.RadioGroup; 

import android.widget.Toast; 

 

public class MainActivity extends Activity { 

    private RadioGroup  sixRadioGroup; 

    private RadioButton femaleRadioButton; 

    private RadioButton maleRadioButton; 

    private CheckBox swimCheckBox; 

    private CheckBox runCheckBox; 

    private CheckBox readCheckBox; 

     

    @Override 

    protected void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.main); 

         

        sixRadioGroup = (RadioGroup)findViewById(R.id.myRadioGroup); 

        femaleRadioButton = (RadioButton)findViewById(R.id.myRadioButton1); 

        maleRadioButton = (RadioButton)findViewById(R.id.myRadioButton2); 

        swimCheckBox = (CheckBox)findViewById(R.id.swim); 

        runCheckBox = (CheckBox)findViewById(R.id.run); 

        readCheckBox = (CheckBox)findViewById(R.id.read); 

         

         

        class RadioGroupCheckBoxListener implements RadioGroup.OnCheckedChangeListener{ 

 

            @Override 

            public void onCheckedChanged(RadioGroup group, int checkedId) { 

                // TODO Auto-generated method stub  

                if(checkedId == femaleRadioButton.getId()) 

                { 

                    Toast.makeText(MainActivity.this, R.string.female_y_note, Toast.LENGTH_SHORT).show(); 

                }else if(checkedId == maleRadioButton.getId()) 

                { 

                    Toast.makeText(MainActivity.this, R.string.male_y_note, Toast.LENGTH_SHORT).show(); 

                } 

            } 

             

        } 

        class SwimCheckBoxListener implements OnCheckedChangeListener{ 

 

            @Override 

            public void onCheckedChanged(CompoundButton buttonView, 

                    boolean isChecked) { 

                // TODO Auto-generated method stub  

                if(isChecked) 

                { 

                    Toast.makeText(MainActivity.this, R.string.swim_y_note, Toast.LENGTH_SHORT).show(); 

                }else{ 

                    Toast.makeText(MainActivity.this, R.string.swim_n_note, Toast.LENGTH_SHORT).show(); 

                } 

            } 

        } 

         

        class RunCheckBoxListener implements OnCheckedChangeListener{ 

 

            @Override 

            public void onCheckedChanged(CompoundButton buttonView, 

                    boolean isChecked) { 

                // TODO Auto-generated method stub  

                if(isChecked) 

                { 

                    Toast.makeText(MainActivity.this, R.string.run_y_note, Toast.LENGTH_SHORT).show(); 

                }else{ 

                    Toast.makeText(MainActivity.this, R.string.run_n_note, Toast.LENGTH_SHORT).show(); 

                } 

            } 

        } 

         

        class ReadCheckBoxListener implements OnCheckedChangeListener{ 

 

            @Override 

            public void onCheckedChanged(CompoundButton buttonView, 

                    boolean isChecked) { 

                // TODO Auto-generated method stub  

                if(isChecked) 

                { 

                    Toast.makeText(MainActivity.this, R.string.read_y_note, Toast.LENGTH_SHORT).show(); 

                }else{ 

                    Toast.makeText(MainActivity.this, R.string.read_n_note, Toast.LENGTH_SHORT).show(); 

                } 

            } 

        } 

         

        swimCheckBox.setOnCheckedChangeListener(new SwimCheckBoxListener()); 

        runCheckBox.setOnCheckedChangeListener(new RunCheckBoxListener()); 

        readCheckBox.setOnCheckedChangeListener(new ReadCheckBoxListener()); 

        sixRadioGroup.setOnCheckedChangeListener(new RadioGroupCheckBoxListener()); 

         

    } 

 

    @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; 

    } 

 

package yan.activity_08;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.CheckBox;

import android.widget.CompoundButton;

//import android.widget.CompoundButton.OnCheckedChangeListener;

import android.widget.CompoundButton.OnCheckedChangeListener;

import android.widget.RadioButton;

import android.widget.RadioGroup;

import android.widget.Toast;

public class MainActivity extends Activity {

 private RadioGroup sixRadioGroup;

 private RadioButton femaleRadioButton;

 private RadioButton maleRadioButton;

 private CheckBox swimCheckBox;

 private CheckBox runCheckBox;

 private CheckBox readCheckBox;

 

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  

  sixRadioGroup = (RadioGroup)findViewById(R.id.myRadioGroup);

  femaleRadioButton = (RadioButton)findViewById(R.id.myRadioButton1);

  maleRadioButton = (RadioButton)findViewById(R.id.myRadioButton2);

  swimCheckBox = (CheckBox)findViewById(R.id.swim);

  runCheckBox = (CheckBox)findViewById(R.id.run);

  readCheckBox = (CheckBox)findViewById(R.id.read);

  

  

  class RadioGroupCheckBoxListener implements RadioGroup.OnCheckedChangeListener{

   @Override

   public void onCheckedChanged(RadioGroup group, int checkedId) {

    // TODO Auto-generated method stub

    if(checkedId == femaleRadioButton.getId())

    {

     Toast.makeText(MainActivity.this, R.string.female_y_note, Toast.LENGTH_SHORT).show();

    }else if(checkedId == maleRadioButton.getId())

    {

     Toast.makeText(MainActivity.this, R.string.male_y_note, Toast.LENGTH_SHORT).show();

    }

   }

   

   

  }

  class SwimCheckBoxListener implements OnCheckedChangeListener{

   @Override

   public void onCheckedChanged(CompoundButton buttonView,

     boolean isChecked) {

    // TODO Auto-generated method stub

    if(isChecked)

    {

     Toast.makeText(MainActivity.this, R.string.swim_y_note, Toast.LENGTH_SHORT).show();

    }else{

     Toast.makeText(MainActivity.this, R.string.swim_n_note, Toast.LENGTH_SHORT).show();

    }

   }

  }

  

  class RunCheckBoxListener implements OnCheckedChangeListener{

   @Override

   public void onCheckedChanged(CompoundButton buttonView,

     boolean isChecked) {

    // TODO Auto-generated method stub

    if(isChecked)

    {

     Toast.makeText(MainActivity.this, R.string.run_y_note, Toast.LENGTH_SHORT).show();

    }else{

     Toast.makeText(MainActivity.this, R.string.run_n_note, Toast.LENGTH_SHORT).show();

    }

   }

  }

  

  class ReadCheckBoxListener implements OnCheckedChangeListener{

   @Override

   public void onCheckedChanged(CompoundButton buttonView,

     boolean isChecked) {

    // TODO Auto-generated method stub

    if(isChecked)

    {

     Toast.makeText(MainActivity.this, R.string.read_y_note, Toast.LENGTH_SHORT).show();

    }else{

     Toast.makeText(MainActivity.this, R.string.read_n_note, Toast.LENGTH_SHORT).show();

    }

   }

  }

  

  swimCheckBox.setOnCheckedChangeListener(new SwimCheckBoxListener());

  runCheckBox.setOnCheckedChangeListener(new RunCheckBoxListener());

  readCheckBox.setOnCheckedChangeListener(new ReadCheckBoxListener());

  sixRadioGroup.setOnCheckedChangeListener(new RadioGroupCheckBoxListener());

  

 }

 @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;

 }

}

 

2."Activity_08reslayoutmain.xml"

[html]

<?xml version="1.0" encoding="utf-8"?>   

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

    android:orientation="vertical"   

    android:layout_width="fill_parent"   

    android:layout_height="fill_parent"  

    android:background="#00aaaa"   

    >   

   <TextView 

        android:id="@+id/firstText"   

        android:text="@string/hello_world"   

        android:gravity="center_vertical"   

        android:textSize="15pt"   

        android:background="#aa0000"   

        android:layout_width="fill_parent"   

        android:layout_height="wrap_content"   

        android:singleLine="true"/>   

 

   <!--建立一個RadioGroup --> 

   <RadioGroup 

     android:id="@+id/myRadioGroup" 

     android:layout_width="150dp" 

     android:layout_height="95dp" 

     android:orientation="vertical" 

     android:background="#00aa00"   

     > 

     <!--第一個RadioButton --> 

     <RadioButton 

       android:id="@+id/myRadioButton1" 

       android:layout_width="wrap_content" 

       android:layout_height="wrap_content" 

       android:text="@string/female" 

     /> 

     <!--第二個RadioButton --> 

     <RadioButton 

       android:id="@+id/myRadioButton2" 

       android:layout_width="wrap_content" 

       android:layout_height="wrap_content" 

       android:text="@string/male" 

     /> 

     </RadioGroup> 

         

    <CheckBox   

        android:id="@+id/swim"  

        android:text="@string/swim"  

        android:layout_width="fill_parent"  

        android:layout_height="wrap_content"/>  

    <CheckBox  

        android:id="@+id/run"  

        android:text="@string/run" 

        android:layout_width="fill_parent"  

        android:layout_height="wrap_content"/>  

    <CheckBox  

        android:id="@+id/read"  

        android:text="@string/read"  

        android:layout_width="fill_parent"  

        android:layout_height="wrap_content"/> 

    

</LinearLayout>   

<?xml version="1.0" encoding="utf-8"?> 

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

    android:orientation="vertical" 

    android:layout_width="fill_parent" 

    android:layout_height="fill_parent"

 android:background="#00aaaa" 

    > 

   <TextView

  android:id="@+id/firstText" 

  android:text="@string/hello_world" 

  android:gravity="center_vertical" 

  android:textSize="15pt" 

  android:background="#aa0000" 

  android:layout_width="fill_parent" 

  android:layout_height="wrap_content" 

  android:singleLine="true"/> 

   <!--建立一個RadioGroup -->

   <RadioGroup

     android:id="@+id/myRadioGroup"

     android:layout_width="150dp"

     android:layout_height="95dp"

     android:orientation="vertical"

     android:background="#00aa00" 

     >

     <!--第一個RadioButton -->

     <RadioButton

       android:id="@+id/myRadioButton1"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="@string/female"

     />

     <!--第二個RadioButton -->

     <RadioButton

       android:id="@+id/myRadioButton2"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="@string/male"

     />

     </RadioGroup>

       

    <CheckBox 

        android:id="@+id/swim"

        android:text="@string/swim"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"/>

    <CheckBox

        android:id="@+id/run"

        android:text="@string/run"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"/>

    <CheckBox

        android:id="@+id/read"

        android:text="@string/read"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"/>

  

</LinearLayout> 

3."Activity_08resvaluesstrings.xml"

[html]

<?xml version="1.0" encoding="utf-8"?> 

<resources> 

 

    <string name="app_name">Activity_08</string> 

    <string name="hello_world">Hello world!</string> 

    <string name="menu_settings">Settings</string> 

    <string name="female">女</string> 

    <string name="female_y_note">性别:女 被选中</string> 

    <string name="male">男</string> 

    <string name="male_y_note">性别:男 被选中</string> 

    <string name="swim">游泳</string> 

    <string name="swim_y_note">游泳被选中!</string> 

    <string name="swim_n_note">游泳被取消选中!</string> 

    <string name="run">跑步</string> 

    <string name="run_y_note">跑步被选中!</string> 

    <string name="run_n_note">跑步被取消选中!</string> 

    <string name="read">阅读</string> 

    <string name="read_y_note">阅读被选中!</string> 

    <string name="read_n_note">阅读被取消选中!</string> 

     

     

</resources> 

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">Activity_08</string>

    <string name="hello_world">Hello world!</string>

    <string name="menu_settings">Settings</string>

 <string name="female">女</string>

 <string name="female_y_note">性别:女 被选中</string>

 <string name="male">男</string>

 <string name="male_y_note">性别:男 被选中</string>

 <string name="swim">游泳</string>

 <string name="swim_y_note">游泳被选中!</string>

 <string name="swim_n_note">游泳被取消选中!</string>

 <string name="run">跑步</string>

 <string name="run_y_note">跑步被选中!</string>

 <string name="run_n_note">跑步被取消选中!</string>

 <string name="read">阅读</string>

 <string name="read_y_note">阅读被选中!</string>

 <string name="read_n_note">阅读被取消选中!</string>

 

 </resources>

 

三、效果展示:

 开发之选项组件-android组件化开发">

时间: 2024-11-03 05:22:49

Android开发之选项组件的相关文章

Android开发的四大组件

原文链接: http://www.cnblogs.com/pepcod/archive/2013/02/11/2937403.html android生命周期(详细总结) http://blog.csdn.net/ican87/article/details/21874447 andridod的四大组件(详细总结) http://blog.csdn.net/ican87/article/details/21874321       这个文章主要是讲Android开发的四大组件,本文主要分为 一.

Android开发中重要组件activity 生命周期以及启动模式分析

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务. Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件. 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activity之间通过Intent进行通信. Activity生命周期 安卓活动由一个返回栈管理 安卓活动有四个状态 1.运行状态 当一个活动位

【Android开发】基本组件-ListView(重要)

1.ListView的样子 打开任意一款Android手机的"设置"选项,你所看到的效果就是ListView的效果.类似下图: 2.详细剖析ListView ListView界面的每一行就是ListView的一个"条目". 我们是需要对list的条目设置界面的.也就是说List的条目的界面是由我们程序员去设计的.你想显示什么内容,就设计什么界面. 怎样设置每一个条目呢? 例如: 姓名    电话     存款 老张    123      888 老李    145

【Android开发】高级组件-画廊视图

画廊视图(Gallery)表示,能够按水平方向显示内容,并且可用手指直接拖动图片移动,一般用来浏览图片,被选中的选项位于中间,并且可以响应事件显示信息.在使用画廊视图时,首先需要在屏幕上添加Gallery组件,通常使用<Gallery>标记在XML布局文件中添加.其基本语法如下: <Gallery     属性列表    > </Gallery> Gallery组件支持的XML属性表如下: android:animationDuration  用于设置列表切换时的动画持

【Android开发】高级组件-网格视图

网格视图(GridView)是按照行.列分布式的方式来显示多个组件,通常用于显示图片或是图标等.在使用网格视图时,首先要在屏幕上添加GridView组件,通常使用<GridView>标记在XML布局文件中添加,其基本语法如下: <GridView     属性列表 > <GridView> GridView组件支持的XML属性如表所示:1.android:numColumns="4"   //GridView的列数设置为4列 2.android:co

【Android开发】高级组件-自动完成文本框

自动完成文本框(AutoCompleteTextView),用于实现允许用户输入一定字符后,显示一个下拉菜单,供用户从中选择,当用户选择某个选项之后,按用户选择自动填写该文本框. 语法格式: <AutoCompleteTextView 属性列表> </AutoCompleteTextView> AutoCompleteTextView组件继承EditText,所以它支持EditText组件提供的属性,同时,该组件还有以下属性: android:completionHint 下拉列表

【Android开发】高级组件-进度条

当一个应用在后台执行时,前台界面不会有任何信息,这是用户根本不知道程序是否在执行以及执行进度等,因此需要使用进度条来提示程序执行的进度.在Android中,进度条(ProgressBar)用于向用户显示某个耗时操作完成的百分比. 在屏幕中添加进度天,可以在XML布局文件中通过<ProgressBar>标记添加,基本语法格式如下: <ProgressBar     属性列表  > </ProgressBar> ProgressBar组件支持的XML属性如下所示: andr

【Android开发】基本组件-日期、时间拾取器

为了能够让用户选择日期和时间,Android提供了日期.时间拾取器,分别是DatePicker组件和TimePicker组件.这两个组件使用比较简单,可以在Eclipse的可视化界面设计器中,选择对应的组件并拖拽到布局文件中.为了可以在程序中获取用户选择的日期.时间,还要为DatePicker和TimePicker组件添加事件监听器.其中DatePicker组件对应的事件监听器是OnDateChangedListener,而TimePicker组件对应的时间监听器是OnTimeChangedLi

【Android开发】基本组件-单选按钮

单选框: 默认情况下,单选框按钮显示为一个圆形图标,并且在该图标旁边放置一些说明性文字. 在Android中,单选按钮使用RadioButton表示,RadioButton又是Button的子类,所以单选按钮可以直接使用Button支持的各种属性. Android中,可以使用两种方法向屏幕中添加单选按钮,一种是通过在XML布局文件中使用<RadioButton>标记添加:另一种是在Java文件中,通过new关键字创建. 推荐使用XML配置,基本语法如下: <RadioButton and