五、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 ...
随机推荐
- Guava学习笔记:Ordering犀利的比较器
Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在 ...
- mysql与oracle常用函数及数据类型对比
最近在转一个原来使用oracle,打算改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦) ...
- Microsoft SQL Server Compact 4.0&&ADO.NET Entity Framework 4.1&&MVC3
最近重新查看微软MvcMusicStore-v3.0的源代码,发现忽略了很多重要的东西,特别是数据访问那一部分. 首先Microsoft SQL Server Compact 4.0 详细的介绍和下载 ...
- JSON.stringify()、JSON.parse()和eval(string)
1.JSON.stringify()用于从一个对象解析出字符串,eg: var obj = {"name":"奔跑的蜗牛","age":&q ...
- (转)JavaScript一:为什么学习JavaScript?
Web程序不论是B/S(Browser/Server)还是C/S(Client/Server)架构,分为客户端程序与服务器端程序两种.ASP.NET是开发服务器端程序的强大工具,但是有时候为了降低服务 ...
- ionic + cordova 使用 cordova-gallery-api 获取本地相册所有图片
cordova-gallery-api 插件定义一个全局galleryapi对象,提供查询图库相册的方法 安装 cordova-gallery-api: cordova plugin add http ...
- Telerik JustDecompile 2014.1.255.0 开发版(.NET反编译神器,免费下载)
Telerik JustDecompile是Telerik公司推出一个免费的.NET反编译工具,支持插件与Visual Studio 2015~2013集成,还能够创建Visual Studio Pr ...
- MapGuide Maestro 5.1发布了
MapGuide Maestro最为MapGuide开源版的authoring工具真是发展迅速,有些功能比Infrastructure Studio还给力,现在5.1版已经发布了.大家可以到http: ...
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- 如何让光标处于EditText的末尾
经测试发现,如果EditText预先有内容,光标自然会在文字的末尾 . 但是如果预先内容为空,然后设置好内容,这种情况下光标自然会在文字的开头,所以这种情况下可以这样做让光标位于末尾: editTex ...