Android控件实例

xml布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.homework03.MainActivity" >

    <!-- 第一行:姓名 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="姓名"
            android:textSize="20sp" />

        <EditText
            android:id="@+id/edit_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入姓名"
            android:textSize="20sp" />
    </LinearLayout>
    <!-- 第二行:密码 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="密码"
            android:textSize="20sp" />

        <EditText
            android:id="@+id/edit_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入密码"
            android:inputType="textPassword"
            android:textSize="20sp" />
    </LinearLayout>
    <!-- 第三行:性别 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="性别"
            android:textSize="20sp" />

        <RadioGroup
            android:id="@+id/group_sex"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+id/rb_man"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="男" />

            <RadioButton
                android:id="@+id/rb_woman"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="女" />
        </RadioGroup>
    </LinearLayout>
    <!-- 第四行:年龄 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="年龄"
            android:textSize="20sp" />

        <EditText
            android:id="@+id/edit_age"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入年龄"
            android:inputType="number"
            android:textSize="20sp" />
    </LinearLayout>
    <!-- 第五行:email -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Email"
            android:textSize="20sp" />

        <EditText
            android:id="@+id/edit_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入Email"
            android:inputType="textEmailAddress"
            android:textSize="20sp" />
    </LinearLayout>
    <!-- 第六行:爱好 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="爱好"
            android:textSize="20sp" />

        <GridLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:columnCount="4"
            android:rowCount="3" >

            <CheckBox
                android:id="@+id/checkbox0"
                android:text="动漫" />

            <CheckBox
                android:id="@+id/checkbox1"
                android:text="美食" />

            <CheckBox
                android:id="@+id/checkbox2"
                android:text="约会" />

            <CheckBox
                android:id="@+id/checkbox3"
                android:text="Dota" />

            <CheckBox
                android:id="@+id/checkbox4"
                android:text="篮球" />

            <CheckBox
                android:id="@+id/checkbox5"
                android:text="野炊" />

            <CheckBox
                android:id="@+id/checkbox6"
                android:text="电影" />

            <CheckBox
                android:id="@+id/checkbox7"
                android:text="桌游" />

            <CheckBox
                android:id="@+id/check_all"
                android:text="全选" />

            <CheckBox
                android:id="@+id/check_none"
                android:text="全不选" />
        </GridLayout>
    </LinearLayout>
    <!-- 第七行:评分 -->

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="50dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="评分"
            android:textSize="20sp" />

        <RatingBar
            android:id="@+id/ratingbar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:numStars="5" />
    </LinearLayout>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="确定"
        android:onClick="btn_click"
        />
</LinearLayout>

源代码:

package com.example.homework03;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RatingBar;
import android.widget.Toast;

public class MainActivity extends Activity {
    private EditText edit_name, edit_passwd, edit_age, edit_email;
    private RadioGroup group_sex;
    private CheckBox[] checks;
    private CheckBox checkAll, checkNone;
    private RatingBar ratingBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 找出对应的控件
        edit_name = (EditText) findViewById(R.id.edit_name);
        edit_passwd = (EditText) findViewById(R.id.edit_password);
        edit_age = (EditText) findViewById(R.id.edit_age);
        edit_email = (EditText) findViewById(R.id.edit_email);
        group_sex = (RadioGroup) findViewById(R.id.group_sex);
        checks = new CheckBox[8];
        checks[0] = (CheckBox) findViewById(R.id.checkbox0);
        checks[1] = (CheckBox) findViewById(R.id.checkbox1);
        checks[2] = (CheckBox) findViewById(R.id.checkbox2);
        checks[3] = (CheckBox) findViewById(R.id.checkbox3);
        checks[4] = (CheckBox) findViewById(R.id.checkbox4);
        checks[5] = (CheckBox) findViewById(R.id.checkbox5);
        checks[6] = (CheckBox) findViewById(R.id.checkbox6);
        checks[7] = (CheckBox) findViewById(R.id.checkbox7);
        checkAll = (CheckBox) findViewById(R.id.check_all);
        checkNone = (CheckBox) findViewById(R.id.check_none);
        ratingBar = (RatingBar) findViewById(R.id.ratingbar);
        ratingBar.setMax(5);
        // 给checkbox添加onCheck事件
        checkAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked) { // 当勾上了全选时,才选择全部的CheckBox
                    for(CheckBox check : checks) {
                        check.setChecked(true);
                    }
                    checkNone.setChecked(false);
                }
            }
        });
        checkNone.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked) { // 当勾上了全不选时,才取消选择全部的CheckBox
                    for(CheckBox check : checks) {
                        check.setChecked(false);
                    }
                    checkAll.setChecked(false);
                }
            }
        });
    }

    public void btn_click(View view) {
        String result = "";
        String name = edit_name.getText().toString();
        result += "姓名:" + name +"\n";
        String passwd = edit_passwd.getText().toString();
        result += "密码:" + passwd +"\n";
        int id = group_sex.getCheckedRadioButtonId();
        RadioButton rb = (RadioButton) findViewById(id);
        String sex = rb.getText().toString();
        result += "性别:" + sex + "\n";
        int age = Integer.parseInt(edit_age.getText().toString());
        result += "年龄:" + age +"\n";
        String email = edit_email.getText().toString();
        result += "Email:" + email +"\n";

        String favor = "";
        for(CheckBox check : checks) {
            if(check.isChecked()) {
                favor += check.getText().toString() + " ";
            }
        }
        result += "爱好:" + favor +"\n";

        int rating = ratingBar.getProgress();
        result += "评分:" + rating +"\n";

        Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
    }
}
时间: 2024-10-16 14:12:20

Android控件实例的相关文章

Android控件(2)RadioButton&amp;RadioGroup

抄自: http://www.cnblogs.com/wt616/archive/2011/06/20/2085531.html 学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个Che

UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)

在本人之前的一篇文章<<Appium基于安卓的各种FindElement的控件定位方法实践和建议>>第二章节谈到Appium可以通过使用UIAutomator的方法去定位Android界面上的控件,当时只是一笔带过举了个例子.如该文给自己的承诺,今天特撰写此文以描述UIAutomator各种控件定位的方法,以作为前文的姊妹篇互通有无. 1. 背景 为了和前文达成一致,这次的实践对象同样也是使用SDK自带的NotePad应用,同样是尝试去获得在NotesList那个Activity里

Robotium之Android控件定位实践和建议(Appium/UIAutomator姊妹篇)

本人之前曾经撰文描述Appium和UIAutomator框架是如何定位Android界面上的控件的. UIAutomator定位Android控件的方法实践和建议 Appium基于安卓的各种FindElement的控件定位方法实践和建议 今天我们换一个渊源更留长,当今更盛行的框架Robotium,实践下看它又是如何对控件进行定位的. 1. 背景 为保持这个系列的一致性,我们继续用SDK自带的NotePad实例应用作为我们的试验目标应用,但是这次不仅仅是像以前一样主要围绕Menu Option里面

Android控件系列之RadioButton&amp;RadioGroup

学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中 2.一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个

android控件开发之Radio(单选按钮)和CheckBox(多选按钮)开发

android控件开发之Radio(单选按钮)和CheckBox(多选按钮)开发 本博文主要讲述的是android开发中的单选和多选按钮的使用,具体情况请看实例代码: MainActivity.java: package com.example.radiotest; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.CheckBox; imp

Android控件系列之RadioButton&amp;RadioGroup 【转】

学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中 2.一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个

android控件开发之RatingBar

android控件开发之RatingBar 本博文主要讲述的RatingBar的开发,此控件主要是用做评分,评级中使用,下面我们来看看实例代码: MainActivity.java: package com.example.ratingbar; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.RatingBar; public class

android控件开发之ExpandableListActivity(二)

android控件开发之ExpandableListActivity(二) 本博文主要讲述的是使用ExpandableListActivity创建一个类似QQ中好友列表的功能.下面我们直接来看实现的代码吧. 本实例中有一个Activity,和一个主布局文件.其他的一级目录和二级目录分别是通过重写ExpandableListActivity中的getGroupView()和getChildView()方法来实现的布局 MainActivity.java代码如下: 此Activity主要是exten

Android控件-Fragment+ViewPager(高仿微信界面)

什么是Fragment? Fragment是Android3.0后新增的概念,Fragment名为碎片,不过却和Activity十分相似,具有自己的生命周期,它是用来描述一些行为或一部分用户界面在一个Activity中,我们可以合并多个Fragment在一个单独的activity中建立多个UI面板,或者重用Fragment在多个activity中. 关于Fragment的生命周期,由于Fragment需要依赖Activity,也就是说当一个Activity的生命周期结束之后,那么Fragment