- 浏览: 257676 次
- 性别:
- 来自: 福州
文章分类
最新评论
-
nanfei:
运行没看到反应~
Android利用Http下载文件 -
jebai0521:
学习了,有点错误!
Android利用Http下载文件 -
avalonzst:
mark一下.写的真不错.
Oracle中的DDL语句 -
284772894:
Good,不错,新手学习中
android中的布局 -
zhiwen2050:
<script>alert("张三&qu ...
grid++ report在线报表的使用笔记
Android中的常用控件
一、程序目的
展示和使用Android中的各种常用控件,其中的TextView和Button由于,以前例子中经常用就不举例子。
TextView:文本框,相当于JavaGUI中的TextField
Button:按钮
二、例子效果图
三、代码编写
1.CheckBox和RadioButton(RadioGroup)
raido.xml,注意:RadioGroup包裹RadioButton
<?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"> <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <RadioGroup android:id="@+id/genderGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/femaleButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/female" /> <RadioButton android:id="@+id/maleButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/male" /> </RadioGroup> <CheckBox android:id="@+id/swim" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/swim" /> <CheckBox android:id="@+id/run" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/run" /> <CheckBox android:id="@+id/read" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/read" /> </LinearLayout>
对应Activity代码片段
//为RadioGroup设置监听器,需要注意的是,这里的监听器和Button控件的监听器有所不同 genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if(femaleButton.getId() == checkedId){ System.out.println("famale"); Toast.makeText(Component.this, "famle", Toast.LENGTH_SHORT).show();//小提示框 } else if(maleButton.getId() == checkedId) { System.out.println("male"); } } }); //为多选按钮添加监听器 swimBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { System.out.println("swim is checked"); } else { System.out.println("swim is unchecked"); } } });
2.进度条ProgressBar
layout中的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"> <!-- style:指定进度条的类型,其中progressBarStyleHorizontal 水平进度条 progressBarStyle:旋转的进度条 android:visibility:设置控件当前的可视情况:gone看不到 --> <ProgressBar android:id="@+id/firstProgressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="200dp" android:layout_height="wrap_content" android:visibility="gone" ></ProgressBar> <ProgressBar android:id="@+id/secondProgressBar" style="?android:attr/progressBarStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:max="200" ></ProgressBar> <Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/go" ></Button> </LinearLayout>
对应Activity代码片段
class BtnListener implements OnClickListener{ int i=0; @Override public void onClick(View arg0) { if(i==0){ firstProgressBar.setVisibility(View.VISIBLE); secondProgressBar.setVisibility(View.VISIBLE); }else if(i<firstProgressBar.getMax()){ firstProgressBar.setProgress(i); firstProgressBar.setSecondaryProgress(i+10); secondProgressBar.setProgress(i); }else{ firstProgressBar.setVisibility(View.GONE); secondProgressBar.setVisibility(View.GONE); } i=i+10; } }
3.ListView: 官方文档中的demo
layout中的xml
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:textSize="16sp" > </TextView>
对应的Activity
package linys.component; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class HelloListView extends ListActivity { static final String[] COUNTRIES = new String[] { "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory", "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland", "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea", "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas", "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara", "Yemen", "Yugoslavia", "Zambia", "Zimbabwe" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] countries = getResources().getStringArray(R.array.countries_array); //从values/strings.xml中取得定义的String数组 setListAdapter(new ArrayAdapter<String>(this, R.layout.listview, countries)); //使用代码中定义的String数组 // setListAdapter(new ArrayAdapter<String>(this, R.layout.listview, COUNTRIES)); ListView lv = getListView(); lv.setTextFilterEnabled(true); //往ListView中添加项点击监听时间 lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // When clicked, show a toast with the TextView text Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show(); } }); } }
values/strings.xml片段
<string-array name="countries_array"> <item>Bahrain</item> <item>Bangladesh</item> <item>Barbados</item> <item>Belarus</item> <item>Belgium</item> <item>Belize</item> <item>Benin</item> </string-array>
自定义的ListView例子
layout中的xml
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" > <ListView android:id="@id/android:list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" > </ListView> <!--android:scrollbars 添加滚动条 --> </LinearLayout>
user.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/username" android:layout_width="180dip" android:layout_height="30dip" /> <TextView android:id="@+id/password" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="right" /> <!-- android:gravity 设置重心的位置在这里是把password放在username的右边二者在同一行 --> </LinearLayout>
对应的Activity
package linys.views; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.SimpleAdapter; import android.widget.Toast; /** * * @Project: Android_ListView * @Desciption: * 本Activity继承ListActivity * @Author: LinYiSong * @Date: 2011-3-25~2011-3-25 */ public class ListView extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /* * *显示的数据 *ListView可以看作是不显示字段名得一张表 *字段名为map中的key *每行的数据用Map存放 */ ArrayList<Map<String,String>> list=new ArrayList<Map<String,String>>(); //Map中存放的是ListView中每一行的值 Map<String,String> map=new HashMap<String,String>(); Map<String,String> map1=new HashMap<String,String>(); map.put("username","linys"); map.put("passwd", "linys"); map1.put("username","wang"); map1.put("passwd", "wang"); list.add(map); list.add(map1); /** * 为ListView筛选值 * R.layout.user指定的是在res/layout中指定的数据每行数据展示的布局 * new String[]{"username","passwd"}:选取Map中的key,作为表格的字段 * new int[]{R.id.username,R.id.password}:user与字段对应的控件名 */ SimpleAdapter adapter=new SimpleAdapter(this,list,R.layout.user,new String[]{"username","passwd"},new int[]{R.id.username,R.id.password}); this.setListAdapter(adapter); } /** * override onListItemClick添加项点击事件 */ @Override protected void onListItemClick(android.widget.ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); /* * 从ListView的Adapter中取得所选的项 * CharSequence 相当于String */ CharSequence text = l.getAdapter().getItem(position)+""; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(this, text, duration); toast.show(); } }
- Android_Component.rar (67.6 KB)
- 下载次数: 5
- Android_ListView.rar (41.3 KB)
- 下载次数: 5
发表评论
-
oracle中的object
2011-03-28 10:50 997一、schema 是object的集合,oracle中的s ... -
android中Content Provider
2011-03-25 21:06 968android中Content Provider ... -
Android利用Http下载文件
2011-03-25 20:24 53109Android利用Http下载文件 ... -
利用Android中的SQLite进行CRUD
2011-03-25 16:18 2863利用Android中的SQLite进行CRUD 一、SQ ... -
android中的Handler(2)
2011-03-25 15:42 1310android中的Handler(2) 一、独立于主线程 ... -
android中的Handler(1)
2011-03-25 15:21 1758android中的Handler(1) 一、Hanler ... -
android中的布局
2011-03-25 13:30 2245android中的布局 一、Linear布局,线性布局 ... -
Android中的生命周期LifeCycle
2011-03-25 10:07 3037Android中的生命周期LifeCycle 一、场景 ... -
Android中的Intent
2011-03-25 09:30 902Android中的Intent 一、程序效果 ... -
Activity小品
2011-03-24 22:34 875Activity小品 一、程 ... -
Android版得HelloWorld
2011-03-24 21:28 1011Android版得HelloWorld 一、 ... -
android环境的搭建
2011-03-24 20:42 838android环境的搭建 一、准备(下载开发 ...
相关推荐
Android UI控件组件库集合【源码】 热门标签,流式布局,刮刮乐控件,侧滑控件,循环幻灯片控件,自动换行控件,下拉列表,圆角进度控件等常用UI控件组件合集
android 常用控件如:ProgressBar、ActionBar、Switch、ListView 、PopupWindow....等的用法,各种Style的写法以及自定义常用控件 android 五大布局的汇总及用法
教程名称: 老罗Android开发视频教程-Android常用UI控件编程【32集】【】Android常用UI控件编程第七集【】Android常用UI控件编程第二十三集【】Android常用UI控件编程第二十九集【】Android常用UI控件编程第二十二...
Android常用基本控件的使用,设置等。。
Android中的常用控件及其基本用法 TextView的使用方法 EditText的使用方法 Button的使用方法 Menu的使用方法 RadioGroup和RadioButton
android基本常用控件的实例,适用于想快速了解android各种控件使用方法的同学,不容错过哦
该资源是对Android 常用的UI组件进行详细讲解
android常用系统控件~~~~~~~~~~~~~~~~~~~~~
android常用控件大全讲解,非常经典哦,绝对啊,希望对你有所帮助。
老二牛车教育 程矢AndroidUI之常用控件.ppt
android常用控件用法源码收集带详细注释
android常用控件的总结,供学习交流,谢谢~
android 常用控件全解。唯有你不知道的,全在这里
android中常用动画demo搜集集合(包含源码),没事可以自己模仿着写一些小demo玩玩
android api常用控件,系统函数大全,包括pdf与txt格式
android常用组件大全,每个控件的说明,编程重点等;
基本的android studio常用控件的属性
android组件,对android常用组件的解释 android组件,对android常用组件的解释
Android各种控件属性,不用搜索,一本够用