- 浏览: 16945 次
- 性别:
最新评论
一、多选按钮-CheckBox
用法:首先也是通过控件ID来得到代表控件的对象,然后为其添加监听器。
设置监听器代码:
//为多选按钮添加监听器 swim.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub if(isChecked) { System.out.println("swim is checked"); } else { System.out.println("swim is unchecked"); } } });
其中,swimBox是CompoundButton的子类,所以他可以向上转型为CompoundButton的类型,将参数传进。
二、单选按钮-RadioGroup
用法:同CheckBox
设置监听器代码:
//单选按钮监听器 @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if(female.getId()== checkedId){ System.out.println("你是女的"); Toast.makeText(checkRadio.this, "女", Toast.LENGTH_SHORT).show(); /**Toast用于选择时弹出提示*/ }else if (gender.getId()== checkedId) { System.out.println("你是男的"); Toast.makeText(checkRadio.this, "男", Toast.LENGTH_SHORT).show(); } } });
三、进度条-ProgressBar
.xml文件中定义如下:水平进度条
<ProgressBar android:id="@+id/firstBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="200dp" android:layout_height="wrap_content" android:visibility="gone"/是否可视的状态,gone是不可视的
/>
默认的进度条最大值是100,如上例子,若想进度条自定义,则用:android:max="xxx"即可,也可以在代码里面设置。如:下面例子中!
Activity中实现进度条:
package mars.progressbar; 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 { /** Called when the activity is first created. */ //声明变量 private ProgressBar firstBar =null; private ProgressBar secondBar = null; private Button myButton = null; private int i = 0 ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //根据控件的ID来取得代表控件的对象 firstBar = (ProgressBar)findViewById(R.id.firstBar); secondBar = (ProgressBar)findViewById(R.id.secondBar); myButton = (Button)findViewById(R.id.myButton); myButton.setOnClickListener(new ButtonListener()); } class ButtonListener implements OnClickListener{ @Override public void onClick(View v) { if(i == 0) { //设置进度条处于可见的状态 firstBar.setVisibility(View.VISIBLE); firstBar.setMax(150); secondBar.setVisibility(View.VISIBLE); } else if ( i < firstBar.getMax()){//获得获得进度条的最大值 //设置主进度条的当前值 firstBar.setProgress(i); //设置第二进度条的当前值 firstBar.setSecondaryProgress(i + 10); //因为默认的进度条无法显示进行的状态 secondBar.setProgress(i); } else{ //设置进度条处于不可见状态 firstBar.setVisibility(View.GONE); secondBar.setVisibility(View.GONE); } i = i + 10 ; } } }
四、列表-ListView
列表实现的不是Activity,而是ListActivity。
main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:id="@+id/listLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true" android:scrollbars="vertical" /> </LinearLayout> </LinearLayout>
user.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:paddingLeft="10dip" android:paddingRight="10dip" android:paddingTop="1dip" android:paddingBottom="1dip"> <TextView android:id="@+id/user_name" android:layout_width="180dip" android:layout_height="30dip" android:textSize="5pt" android:singleLine="true" /> <TextView android:id="@+id/user_ip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="right" android:textSize="5pt" /> </LinearLayout>
Activity代码:
public class Activity01 extends ListActivity { /**继承于ListActivity类*/ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map1 = new HashMap<String, String>(); HashMap<String, String> map2 = new HashMap<String, String>(); HashMap<String, String> map3 = new HashMap<String, String>(); map1.put("user_name", "zhangsan"); map1.put("user_ip", "192.168.0.1"); map2.put("user_name", "zhangsan"); map2.put("user_ip", "192.168.0.2"); map3.put("user_name", "wangwu"); map3.put("user_ip", "192.168.0.3"); list.add(map1); list.add(map2); list.add(map3); MyAdapter listAdapter = new MyAdapter(this, list,R.layout.user, new String[] { "user_name", "user_ip" }, new int[] { R.id.user_name,R.id.user_ip}); /**this即为当前这个ListActivity的对象, * list关键字,将鼠标放在list上可看到ArrayList<HashMap<String, String>> list * 表示为:首先它是一个ArrayList,里面放上HashMap,HashMap里又放上2个String对象 * R.id.uder_name是布局文件,后面一长串是数组,最后那长串是控制显示在列表中的控件布局 * user_name和user_ip是对应在HashMap里面的列,最后的new int[]则是对应在列中的值*/ setListAdapter(listAdapter); } }MyAdapter是自定义方法,MyAdapter:package mars.listview; import java.util.List; import java.util.Map; import android.R.color; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.SimpleAdapter; public class MyAdapter extends SimpleAdapter { private LayoutInflater inflater = null; private List<Map<String,Object>> styles = null; public List<Map<String, Object>> getStyles() { return styles; } public void setStyles(List<Map<String, Object>> styles) { this.styles = styles; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub View result = super.getView(position, convertView, parent); System.out.println("positon---->" + position); if(result != null){ inflater.inflate(R.layout.user1, null); } return result; } public MyAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); inflater = LayoutInflater.from(context); } }
五、SpinnnerSpinner s1 = (Spinner) findViewById(R.id.Sp_Button_ChangeRoom); //下拉列表选择桌位号或者包厢号 //将可选内容与ArrayAdapter连接 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.SP_ChangeRoom, android.R.layout.simple_spinner_item); //设置下拉列表风格 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //将adapter添加到s1中 s1.setAdapter(adapter); //添加Spinner事件监听 s1.setOnItemSelectedListener(new OnItemSelectedListener() { /** 第一个参数 是适配器 <?>是适配器里内容的类型,可把?改成你存的类型. * 第二个参数 是你当前选择的view * 第三个参数 是你所选项在适配器中的索引位置 * 第四个参数 选定项目的行数 */ public void onItemSelected( AdapterView<?> parent, View view, int position, long id) { if(id>4){ showToast(id+1+"号包厢"); }else{ showToast(id+1+"号桌"); } } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub showToast("没有选择桌号或者包厢号"); } }); } private void showToast(CharSequence msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
发表评论
-
[转]Android.GridView实现宫式布局
2011-11-10 14:19 0应一位朋友的要求,我 ... -
广播机制
2011-09-07 11:00 765一、Android广播机制的介绍 BroadcastRec ... -
Android学习笔记(9)XML文件解析
2011-08-29 16:49 1105XML(可扩展标记语言) 通常有两种方式对XML文件今夕解析 ... -
Android学习笔记(8)ContentProvider
2011-08-29 14:02 760一、ContentProvider概念 基本概念: 1、C ... -
Android学习笔记(七)输出流Log、download、写入SDCard
2011-08-26 11:04 2692一、输出流Log andro ... -
Android学习笔记(六)SQLite
2011-08-25 15:28 1130一、SQLite介绍 关系型数据库:SQLite-基于文本 ... -
Android学习笔记(五) handler
2011-08-25 11:30 1100一、基本概念 主要用于"异步消息"的处理 ... -
Android学习笔记(三)UI布局
2011-08-24 09:37 1824一、线性布局-LinearLayout(至上而下布局) &l ... -
Android学习笔记(二)Activity生命周期、task、对话框风格的Activity
2011-08-23 17:40 1674Activity的七个生命周期 ... -
Android学习笔记(一)Activity
2011-08-23 17:36 819一、Activity基础知识 1、一个Activity就是一 ...
相关推荐
在开始学习Android开发时,首先要了解的是一个基本的Android应用是如何构建的。一个典型的Android应用由多个`Activity`组成,每个`Activity`代表了一个屏幕界面。下面是一些关于`Activity`的基本要点: 1. **创建一...
在Android开发中,基础控件是构建用户界面(UI)的核心元素。这些控件使得开发者能够创建各种交互式和功能丰富的应用。以下是一些主要的Android基础控件及其使用方法的详细说明: 1. **按钮(Button)** - `Button`...
1 基础控件的使用(CheckBox,RadioButton,RadioGroup,ToggleButton,CheckedTextView,ProgressBar,SeekBar,RatingBar,时间控件,EditText,WebView,ListView,RecyclerView,ExpandableListView,Spinner); 2 二维码 ...
常见的Android控件包括按钮(Button)、文本框(EditText)、单选按钮(RadioButton)、复选框(CheckBox)、图像视图(ImageView)、进度条(ProgressBar)、列表视图(ListView)、网格视图(GridView)、滑动选择...
4.2.5 单项选择(RadioGroup、RadioButton 4.2.6 多项选择(CheckBox) 4.2.7 下拉列表(Spinner) 4.2.8 自动提示(AutoComplete.TextⅥew) 4.2.9 日期和时间(DatePicker、TimePicker) 4.2.10 按钮(Button) 4.2.1l 菜单...
四、复选框(CheckBox) CheckBox控件允许用户进行多选。例如,在设置中,用户可以选择多个偏好。XML布局中使用`<CheckBox>`标签,`android:text`属性设置文字,`android:checked`控制初始状态。 五、列表视图...
在Android开发中,UI(用户...在实际项目中,常常结合Android源码和示例(demo)进行学习和实践,以加深理解并提高开发效率。通过`BOOKUI所有控件`这个压缩包,你可以找到更多关于这些控件的实例代码,便于学习和参考。
两者通常配合`CheckBoxGroup`或`RadioGroup`使用,通过`android:checkedButton`属性设置默认选中的项。 6. **Spinner**:Spinner提供下拉选择功能,用户可以从预定义的选项中选择一个。通过`android:entries`指定...
本书是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。本书避免出现云山雾罩、晦涩难懂的讲解,代之以轻松活泼、由浅入深的剖析。这必将使得阅读本书的读者少走弯路,...
Android的系统架构 6 一、应用程序 6 二、应用程序框架 6 三、Android Runtime 7 四、系统库 7 五、Linux 内核 8 Webkit浏览器引擎简介 9 Dalvik虚拟机简介 11 什么是Dalvik虚拟机 11 Dalvik和Android系统 11 Dalvik...
《Android应用开发揭秘》全部实例源代码,配合《Android应用开发揭秘》使用 前言 第一部分 准备篇 第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 ...
**Android中文翻译组——android.widget合集(中)** 这篇文档是Android开发中关于`android.widget`包的一个中文翻译合集,主要针对Android平台上常用的Widget组件进行深入解析。`android.widget`是Android SDK中的...
6. **CheckBox**:复选框允许用户选择多个选项,`android:checked`属性用于设置初始状态,`android:onClick`同样可用于绑定点击事件。 7. **Spinner**:下拉列表控件,用户可以选择一个预设的选项。通常结合`...
《Android从入门到精通》 第1章 初识Android 1.1 什么是Android 1.1.1 移动信息设备分类 1.1.2 Open Handset Alliance和 Android 1.2 Android简介 1.2.1 Andriod的历史 1.2.2 Andriod的未来 1.2.3 Andriod平台的技术...
在Android开发中,系统控件是构建用户界面的基础元素,它们提供了与用户交互的各种功能。本文将深入探讨Android中常见的系统控件,以及如何在应用中有效地使用它们。 1. **按钮(Button)**:按钮是最基本的控件,...
与CheckBox不同,RadioButtons通常放在`RadioGroup`中,以确保同一组内只有一个被选中。 6. Spinner(下拉列表): Spinner提供了一个下拉菜单供用户选择,可以用于显示有限的选项。使用`<Spinner>`标签创建,并...
4.2.5 单项选择(RadioGroup、RadioButton 4.2.6 多项选择(CheckBox) 4.2.7 下拉列表(Spinner) 4.2.8 自动提示(AutoComplete.TextⅥew) 4.2.9 日期和时间(DatePicker、TimePicker) 4.2.10 按钮(Button) ...
容器这里的容器是指采用了特定的布局并且提供了行为的控件,包含 ListView、GridView、Gallery、Spinner 等。 二、TextView 控件 TextView 控件是 Android 中最基本的控件之一,用于显示文本信息。它可以设置字体...
根据提供的信息,我们可以深入探讨Android开发中的几个关键概念与技术要点。下面将详细介绍与Activity、布局管理器、组件以及对话框等相关的重要知识点。 ### Activity Activity是Android应用程序四大组件之一,它...
《Android应用开发揭秘》内容全面,不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏...