- 浏览: 16353 次
- 性别:
最新评论
一、多选按钮-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 718一、Android广播机制的介绍 BroadcastRec ... -
Android学习笔记(9)XML文件解析
2011-08-29 16:49 1056XML(可扩展标记语言) 通常有两种方式对XML文件今夕解析 ... -
Android学习笔记(8)ContentProvider
2011-08-29 14:02 720一、ContentProvider概念 基本概念: 1、C ... -
Android学习笔记(七)输出流Log、download、写入SDCard
2011-08-26 11:04 2587一、输出流Log andro ... -
Android学习笔记(六)SQLite
2011-08-25 15:28 1093一、SQLite介绍 关系型数据库:SQLite-基于文本 ... -
Android学习笔记(五) handler
2011-08-25 11:30 1061一、基本概念 主要用于"异步消息"的处理 ... -
Android学习笔记(三)UI布局
2011-08-24 09:37 1789一、线性布局-LinearLayout(至上而下布局) &l ... -
Android学习笔记(二)Activity生命周期、task、对话框风格的Activity
2011-08-23 17:40 1617Activity的七个生命周期 ... -
Android学习笔记(一)Activity
2011-08-23 17:36 784一、Activity基础知识 1、一个Activity就是一 ...
相关推荐
1 基础控件的使用(CheckBox,RadioButton,RadioGroup,ToggleButton,CheckedTextView,ProgressBar,SeekBar,RatingBar,时间控件,EditText,WebView,ListView,RecyclerView,ExpandableListView,Spinner); 2 二维码 ...
4.4.1 ProgressBar与ProgressDialog 122 4.4.2 RatingBar 130 五、小结 134 第五章 Composite Widgets 135 一、ListView 135 4.1.1 Adapter 135 4.1.2 ListView 136 4.1.3 ArrayAdapter 137...
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 菜单...
本书是一本与众不同的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从入门到精通》 第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平台的技术...
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) ...
第15章 Android综合案例四——在线音乐播放器 15.1 关于YOBO和YOBOAPI 15.1.1 YOBO简介 15.1.2 YOBO功能特点 15.1.3 YOBOAPI介绍 15.2 在线播放器架构设计 15.2.1 在线播放器功能规划设计 15.2.2 在线播放器UI设计 ...
《Android应用开发揭秘》内容全面,不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏...
本书是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。本书避免出现云山雾罩、晦涩难懂的讲解,代之以轻松活泼、由浅入深的剖析。这必将使得阅读本书的读者少走弯路,...
第15章 Android综合案例四——在线音乐播放器 15.1 关于YOBO和YOBOAPI 15.1.1 YOBO简介 15.1.2 YOBO功能特点 15.1.3 YOBOAPI介绍 15.2 在线播放器架构设计 15.2.1 在线播放器功能规划设计 15.2.2 在线播放器UI设计 ...
第15章 android综合案例四——在线音乐播放器 283 15.1 关于yobo和yobo api 283 15.1.1 yobo简介 284 15.1.2 yobo功能特点 284 15.1.3 yobo api介绍 284 15.2 在线播放器架构设计 285 15.2.1 ...
1、LinearLayout Button、RadioGroup、 CheckBox 2、TableLayout 3、FrameLayout 霓虹灯效果 4、RelativeLayout 梅花效果 5、自定义view跟着触点走的小球 6、 ListView 列表视图 7、WebView web视图 8、...
1、LinearLayout Button、RadioGroup、 CheckBox 2、TableLayout 3、FrameLayout 霓虹灯效果 4、RelativeLayout 梅花效果 5、自定义view跟着触点走的小球 6、 ListView 列表视图 7、WebView web视图 8、...
第15章 Android综合案例四——在线音乐播放器 15.1 关于YOBO和YOBOAPI 15.1.1 YOBO简介 15.1.2 YOBO功能特点 15.1.3 YOBOAPI介绍 15.2 在线播放器架构设计 15.2.1 在线播放器功能规划设计 15.2.2 在线播放器UI设计 ...
第15章 Android综合案例四——在线音乐播放器 283 15.1 关于YOBO和YOBO API 283 15.1.1 YOBO简介 284 15.1.2 YOBO功能特点 284 15.1.3 YOBO API介绍 284 15.2 在线播放器架构设计 285 15.2.1 ...
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...