(转自: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的常用控件(转)的更多相关文章

  1. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...

  2. Android学习之基础知识六—Android四种布局详解

    一.Android基本布局 布局是一种可以放置多个控件的容器,它可以按照一定规律调整内部控件的位置,而且布局内部除了可以放置控件外,还可以放置布局,实现多层布局嵌套.布局和控件.布局和布局之间的关系如 ...

  3. Android学习记录(3)—Android中ContentProvider的基本原理学习总结

    一.ContentProvider简介        当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据 ...

  4. python学习-第四天补充-面向对象

    python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...

  5. Pro Android 4 第六章 构建用户界面以及使用控件(一)

         目前为止,我们已经介绍了android的基础内容,但是还没开始接触用户界面(UI).本章我们将开始探讨用户界面和控件.我们先讨论一下android中UI设计的一般原理,然后我们在介绍一下an ...

  6. Android support library支持包常用控件介绍(一)

    谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现Material Design设计效果,官方给出了Android support design library 支 ...

  7. Android support library支持包常用控件介绍(二)

    谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现 Material Design设计效果,官方给出了Android support design library ...

  8. Android笔记---常用控件以及用法

    这篇文章主要记录下Android的常用控件以及使用的方法,Android 给我们提供了大量的UI控件,合理地使用这些控件就可以非常轻松地编写出相当不错的界面,这些是Android学习的基础,没有什么业 ...

  9. android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)

    第三节:常用控件 一.Button 需要掌握的属性: 1.可切换的背景 2.9.png使用 3.按钮点击事件 1)  onClick 3) 匿名类 4) 公共类 二.TextView 常用属性 1.a ...

随机推荐

  1. Java--concurrent并发包下阻塞队列介绍

    JDK提供了7中阻塞队列,这里介绍其中3中,剩余的以此类推原理相同. 1.ArrayBlockingQueue package com.seeyon.queue; import java.util.c ...

  2. python 函数小实例

    1.判断一个数字是否为素数: import math # -----------------判断一个数是否是素数------------------ def sushu(a): i=1 for i i ...

  3. Spring中常用的连接池配置

    首先,我们准备Jdbc属性文件 jdbc.properties,用于保存连接数据库的信息,利于我们在配置文件中的使用 jdbc.driver=com.mysql.jdbc.Driver jdbc.ur ...

  4. Guava学习笔记:Ordering犀利的比较器

    Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强.它非常容易扩展,可以轻松构造复杂的comparator,然后用在 ...

  5. ReportingServies——SQLServer报表开发综合实例

    如果我们安装了sqlserver2008 R2,将会自动安装一个报表开发工具 不要以为此报表开发工具只适合于sqlserver2008,其实在sqlserver2012中也是支持的,事实上我现在项目中 ...

  6. tomcat jdk servlet websocket版本对应关系

    最近在考虑公司主要基础三方库版本统一和升级的问题,特看了下tomcat jdk servlet websocket版本的对应关系,如下:

  7. 清除浮动类的css

    .clearfix:after{ content:; visibility:hidden; display:block; clear:both;} .clearfix{ zoom:;}

  8. React Canvas:高性能渲染 React 组

    React Canvas 提供了使用 Canvas 渲染移动 Web App 界面的能力,替代传统的 DOM 渲染,具有更接近 Native App 的使用体验.React Canvas 提供了一组标 ...

  9. android gps定位LocationManager

    android location provider有: * LocationManager.GPS_PROVIDER:GPS,精度比较高,但是慢而且消耗电力,而且可能因为天气原因或者障碍物而无法获取卫 ...

  10. C语言退出多层嵌套循环技巧

    由于break语句只能影响它的最内层循环,要想立即从深层嵌套循环中退出,有哪些方法呢? 1.使用goto语句: while(condition1) { while(condition2) { whil ...