一.Button、TextView、EditText、RadioButton、RadioGroup、CheckBox综合使用:

布局文件:

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#c0c0c0"android:text="@string/hello_world"android:textColor="#d2691e"android:layout_gravity="center"android:textSize="30sp"/><EditTextandroid:id="@+id/name"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="@string/name"android:background="#ffe4c4"/><RadioGroup android:id="@+id/RadioGroup"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"><RadioButtonandroid:id="@+id/sun"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/sun" /><RadioButtonandroid:id="@+id/moon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/moon" /><RadioButtonandroid:id="@+id/stars"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/stars" /></RadioGroup><CheckBoxandroid:id="@+id/day"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/day" /><CheckBoxandroid:id="@+id/theearth"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/theearth" /><CheckBoxandroid:id="@+id/sea"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/sea" /><Buttonandroid:id="@+id/submit"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/submit"/>
</LinearLayout>

strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">HelloWorld</string><string name="action_settings">Settings</string><string name="hello_world">词语拼接</string><string name="submit">提交</string><string name="name">名字</string><string name="stars">星星</string><string name="moon">月亮</string><string name="sun">太阳</string><string name="day">天</string><string name="theearth">地</string><string name="sea">海</string>
</resources>

MainActivity.java:

package com.example.helloworld;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;public class MainActivity extends Activity {//用来输入姓名private EditText name;//创建RadioGroup对象private RadioGroup rg;//创建三个RadioButton对象private RadioButton sun,moon,stars;//创建三个CheckBox对象private CheckBox day,theearth,sea;//创建提交按钮private Button submit;//用于显示的文本String text="";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//findViewById()方法获得布局文件中的控件,通过Id获取。name =(EditText)findViewById(R.id.name);rg = (RadioGroup)findViewById(R.id.RadioGroup);sun = (RadioButton)findViewById(R.id.sun);moon = (RadioButton)findViewById(R.id.moon);stars = (RadioButton)findViewById(R.id.stars);day = (CheckBox)findViewById(R.id.day);theearth = (CheckBox)findViewById(R.id.theearth);sea = (CheckBox)findViewById(R.id.sea);submit = (Button)findViewById(R.id.submit);//为单项选择添加事件。rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {if(checkedId == sun.getId()){text +=sun.getText().toString();}else if(checkedId == moon.getId()){text +=moon.getText().toString();}else{text +=stars.getText().toString();}}});//多项选择的事件只写一个。那两个可以根据自己的需求来填写。day.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {if(day.isChecked()){displayToast("你喜欢"+day.getText());}}});//添加按钮点击事件,用吐司来显示选中内容。submit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String str="喜欢";if(day.isChecked()){str += day.getText()+"、";}if(theearth.isChecked()){str += theearth.getText()+"、";}if(sea.isChecked()){str += sea.getText()+"、";}displayToast(name.getText().toString()+str+text);}});}//吐司,信息提示。public void displayToast(String text){Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();}
}

运行图片:

当选中天多项选择时,则会触发事件弹出吐司信息。

当输入名字和单项选择之后点击提交按钮,就会触发事件,提示你选中的信息。

二.单击事件:

单击事件有三种常用处理方式:

1).匿名内部类作为事件监听:

实现:

按钮:

<Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/click"android:text="单击"/>

代码:

         Button button;button = (Button)findViewById(R.id.click);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {displayToast("点击按钮");}});

运行图片:

2).内部类作为监听器:

按钮:

<Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/click"android:text="单击"/>

代码:

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button;button = (Button)findViewById(R.id.click);button.setOnClickListener(new ButtonOnClick());}private final class ButtonOnClick implements OnClickListener{@Overridepublic void onClick(View v) {displayToast("点击按钮");}}public void displayToast(String text){Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();}@Overridepublic 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;}
}

运行图片:

3).在控件中指定监听方法:

android:onClick="指定方法名字"

按钮:

 <Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/click"android:text="单击"android:onClick="onClick"/>

代码:

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button;button = (Button)findViewById(R.id.click);}//必须按这样的格式,方法名和参数名可以修改其他不能改动。public void onClick(View v){displayToast("我已经点击了按钮");}public void displayToast(String text){Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();}@Overridepublic 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;}
}

运行图片

还有其他事件监听方式,想了解的大家可以去查。

android基础入门控件详解(4)相关推荐

  1. android基础入门控件详解(3)

    以下所有控件都只显示本控件代码,运行效果图会在原基础上添加. 一.TextView(文本框): TextView用来向用户显示文本,这是最基本的视图. <TextViewandroid:id=& ...

  2. Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)

    第一步:新建一个单视图(single view)的工程, 命名为pickerTest,不要勾选下面两个选项,第一个是新版本里面的,第二个是单元测试,现在用不着. 点击next  ->creat之 ...

  3. android什么控件能够输入多行文字,Android开发:文本控件详解——EditText(一)基本属性...

    一.简单实例: EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样. 除此之外,EditText还有自己独有的属性. 二.基本属性: hint 输入框显示的提示文本 te ...

  4. android自定义组件属性,Android组合控件详解 自定义属性

    组合控件详解 & 自定义属性 组合控件是自定义控件的一种,只不过它是由其他几个原生控件组合而成,故名组合控件. 在实际项目中,GUI 会遇到一些可以提取出来做成自定义控件情况. 一个自定义控件 ...

  5. Spinner控件详解

    Spinner控件详解 效果图 修改Spinner样式 在介绍之前,先看一下系统原生的样式 6.x & 5.x系统样式 4.x系统样式 官方文档 XML属性 方法 描述 android:dro ...

  6. Switch控件详解

    Switch控件详解 原生效果 5.x 4.x 布局 <Switch android:id="@+id/setting_switch"android:layout_width ...

  7. pythongui日历控件_“五一”快到了,用Python中PyQt5做一个日历,QCalendar控件详解...

    前面内容,我们详细了解了PyQt5中的一些常用控件 精彩内容回顾 Python用PyQt5设计界面,如何正确显示一幅图片,QPixmap控件详解 拥有漂亮的笔刷才能绘制多彩界面,PythonPyQt5 ...

  8. 【转】ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证)...

    [转]ASP.NET验证控件详解(非空验证,比较验证,范围验证,正则表达式,自定义验证) ASP.NET验证控件详解 现在ASP.NET,你不但可以轻松的实现对用户输入的验证,而且,还可以选择验证在服 ...

  9. 常用数据绑定控件详解

    常用数据绑定控件详解 GridView内容详解(1) GridView内容详解(2) DataList内容详解 ListView详解(一) ListView详解(二) 导航控件的高级应用 from:h ...

最新文章

  1. 图像变换——等距变换,相似变换,仿射变换,投影变换
  2. linux远程连接工具
  3. 《Code Complete》ch.15 使用条件语句
  4. Java工具类--Map集合与Java对象相互转换
  5. (技能篇)Mysql在linux下的全量热备份
  6. 腾讯面试题:一条SQL语句执行得很慢的原因有哪些?
  7. python如何处理数据_python数据处理之如何选取csv文件中某几行的数据
  8. linux nifi指定jdk,nifi在arm架构启动不了,怎么办?
  9. SpringBoot2.1版本的个人应用开发框架 - 集成Druid + MybatisPlus
  10. 前端开发桌面终极工具(FastStone Capture)推荐(转)
  11. Codeforces 402 and 403 (Div. 2 and 1)
  12. Linux查看线程的方法小结
  13. 爬虫日记-采集 快代理 免费 代理ip 并 清洗 ip 附源码gitee,可运行
  14. 伺服电机常用参数设置_伺服驱动器常见参数的设置
  15. TMOD 计时器 计数器
  16. python webp图片转化格式
  17. 好的编程习惯受益的是自己 之一
  18. 关于c语言杨辉三角编写的改进
  19. Java 图像处理框架-Marvin
  20. 新手上路有哪些开车技巧 , 很实用!

热门文章

  1. DB2建立不记录日志的表
  2. VS2010中如何查看DLL的导出接口
  3. RPC远程过程调用概念及实现
  4. Python——内置类型
  5. mysql 服务意外停止1067错误解决办法小结
  6. Android 成用户隐私安全问题严重
  7. 图解 Scala 基本语法 V2018.12.17
  8. 上传文件到阿里云OSS对象存储,查询访问地址,删除文件
  9. Spring事务管理1-------环境搭建
  10. 小程序仿饿了么弹窗式购物车