五、Android学习第四天补充——Android的常用控件(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html)
五、Android学习第四天补充——Android的常用控件
熟悉常用的Android的几个常用控件的使用方法:
一、RadioGroup和RadioButton——单选按钮
二、Checkbox——复选框
三、Toast——提示框,会自动消失
四、ProgressBar——进度条工具
五、ListView——以列表形式将控件显示出来
下面就对这些内容做个详细的解释:
首先我们要注意在布局文件中对控件进行声明不是必须的,这个在以后应用中需要动态生成一些控件的时候,我们就可以在Activity中进行控件声明,这些以后项目中遇到我们再介绍。
- 我们先来看RadioGroup与RadioButton的使用方法
先来看看RadioGroup与RadioButton在main.xml中的声明,如下图中代码:

这里RadioGroup与Checkbox所设置监听器的方法与Button的有所不同,这里使用的是匿名内部类,调用回调函数来实现对Radio与Checkbox的监听器的设置。
如下图中代码是为RadioGroup添加监听器:

- 我们再来看Checkbox的使用方法
先来看看Checkbox在main.xml中的声明,如下图中代码:

如下图中代码是为Checkbox添加监听器:

- ProgressBar的使用
如下代码为水平进度条的声明方法:

下图为默认进度条的声明方法:

可以一眼看出,style属性的设置决定了进度条的样式。
如下代码即为实现这两个进度条的Activity类——ProgressBarTest.java
package mickey.progress;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class ProgressBarTest extends Activity {
// 声明变量
private ProgressBar first = null;
private ProgressBar second = null;
private Button button = null;
private int i = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
// 这两句一般都要有
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 通过findViewById获得控件对象
first = (ProgressBar) findViewById(R.id.first);
second = (ProgressBar) findViewById(R.id.second);
button = (Button) findViewById(R.id.button);
// 为button设置监听器
button.setOnClickListener(new ButtonListener());
}
// 监听器内部类
class ButtonListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (i == 0) {
// 设置进度条为可见,如果写0的话,不好看,View.VISIBLE 就能让人一看就知道是设置为可见
first.setVisibility(View.VISIBLE);
second.setVisibility(View.VISIBLE);
} else if (i < first.getMax()) {
// 设置进度条的最大值
first.setMax(200);
// 设置进度条的位置
first.setProgress(i);
// 设置第二进度条的位置
first.setSecondaryProgress(i + 10);
// 因为默认的进度条是无法显示进行的状态的,所以second不用设置
} else {
first.setVisibility(View.GONE);
second.setVisibility(View.GONE);
}
i = i + 10;
}
}
}
如下图为运行后的结果:

但是在开发应用程序的时候,比如下载这些功能是不能写在Activity中的,有可能导致整个Activity长时间无响应或者报错,用户体验较差,所以Handler就应运而生啦~ 以后将会学习到
在使用ListView的例子中,需要注意这里继承的是Activity的子类ListActivity。
五、Android学习第四天补充——Android的常用控件(转)的更多相关文章
- 四、Android学习第四天——JAVA基础回顾(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...
- Android学习之基础知识六—Android四种布局详解
一.Android基本布局 布局是一种可以放置多个控件的容器,它可以按照一定规律调整内部控件的位置,而且布局内部除了可以放置控件外,还可以放置布局,实现多层布局嵌套.布局和控件.布局和布局之间的关系如 ...
- Android学习记录(3)—Android中ContentProvider的基本原理学习总结
一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据 ...
- python学习-第四天补充-面向对象
python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...
- Pro Android 4 第六章 构建用户界面以及使用控件(一)
目前为止,我们已经介绍了android的基础内容,但是还没开始接触用户界面(UI).本章我们将开始探讨用户界面和控件.我们先讨论一下android中UI设计的一般原理,然后我们在介绍一下an ...
- Android support library支持包常用控件介绍(一)
谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现Material Design设计效果,官方给出了Android support design library 支 ...
- Android support library支持包常用控件介绍(二)
谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现 Material Design设计效果,官方给出了Android support design library ...
- Android笔记---常用控件以及用法
这篇文章主要记录下Android的常用控件以及使用的方法,Android 给我们提供了大量的UI控件,合理地使用这些控件就可以非常轻松地编写出相当不错的界面,这些是Android学习的基础,没有什么业 ...
- android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)
第三节:常用控件 一.Button 需要掌握的属性: 1.可切换的背景 2.9.png使用 3.按钮点击事件 1) onClick 3) 匿名类 4) 公共类 二.TextView 常用属性 1.a ...
随机推荐
- velocity-tools-beta1.jar与velocity-tools.jar不兼容
今天在升级了某些依赖jar的版本启动一项目后,velocity中的有些定义在common.vm中变量居然变成了null,没能include进来导致,而没升级的环境是ok的,经过反查,最后发现是将vel ...
- rabbitmq批量删除队列
有些时候,我们需要批量的删除rabbitmq中的队列,尤其是对于那些客户端配置了队列不存在时自动创建,但断开时不自动删除的应用来说. rabbitmqctl并没有包含直接管理队列的功能,其提供的vho ...
- spring 3.x变通实现@Conditional注解的功能
在某些情况下,我们要根据当前的系统配置决定是否初始化一个bean,也就是条件性加载,比如本地缓存或者分布式缓存,亦或是采用http实现或者socket实现.在spring 4.x中,可以使用新增的@C ...
- JVM的生命周期、体系结构、内存管理和垃圾回收机制
一.JVM的生命周期 JVM实例:一个独立运行的java程序,是进程级别 JVM执行引擎:用户运行程序的线程,是JVM实例的一部分 JVM实例的诞生 当启动一个java程序时.一个JVM实例就诞生了, ...
- Webform(Linq高级查、分页、组合查询)
一.linq高级查 1.模糊查(包含) 1 public List<User> Select(string name) 2 { 3 return con.User.Where(r => ...
- 关于Canvas模糊的问题
前言:当我在几个多月前,第一次在移动设备上使用canvas绘制内容的时候,我惊然地发现我绘制的图片以及文字居然都是模糊的!我的内心几乎是崩溃的,因为那是我第一个使用canvas的项目,是一个基于微信端 ...
- 在Android中引入Java8的lambda表达式
我用的是retrolambda这个插件,下面来说下如何添加它. 项目地址:https://github.com/evant/gradle-retrolambda 在根项目的build.gradle中添 ...
- XMPP学习——3、XMPP协议学习补充
流基础 两个基本概念,使得XMPP实体之间的小的结构化信息有效载荷能快速地进行异步交换:XML流和XML节.这些术语的定义如下. XML流的定义: XML流是一个容器,用于任何两个实体通过网络进行XM ...
- JavaSE 和 JavaEE 的关系
1.javaSe看成是java基础 (Standard Edition(标准版) ) 2.J2EE看成是应用 (Enterprise Edition(企业版)) 3.java ...
- 初学Spring有没有适合的书
初学者之前没有阅读java框架源码的习惯.没有阅读过源码,知道整体流程么?知道依赖注入的概念么?知道aop么?知道其中用到了哪些设计模式么?再说了,如果一上手就是源码?难道你没有注意到Spring的类 ...