- 浏览: 722612 次
- 性别:
- 来自: 宇宙
文章分类
最新评论
-
天使建站:
http://www.aijquery.cn/Html/bia ...
选择控件:select ,radio,checkbox之用jquery获取选中值的小结 -
wahahachuang8:
GoEasy实时Web推送,支持后台推送和前台推送两种:后台推 ...
【反ajax】webSocket实现实时推送功能 -
white_crucifix:
Str5=Str1+Str2+Str3+Str4,这条语句执行 ...
面试系列(二):JVM工作原理 -
yanxing2012:
写的不对,http://blog.csdn.net/lian_ ...
List集合的复制方式小结 -
u012879379:
嗯,一针见血的指出了问题,谢谢博主
JedisDataException: ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / QUIT allowed in thi
一、TextView
文本框组件,直接继承View,也是EditText和Button的父类
二、EditText
三、单选框复选框(CheckBox、RadioButton),ToogleButton,Switch
1.CheckBox、RadioButton都有一个android:checked属性,用于指定初始状态是否被选中。如果在布局文件中默认勾选了某个单选按钮,必须为该单选按钮的每个按钮设置android:id属性
eg:
2.ToogleButton,Switch通常用于状态切换
四、ImageView组件
android:scaleType设置所显示的图片如何缩放或移动以适应ImageView的大小;当scaleType的值为center时,则会把图片放在ImageView的中间,但不进行任何缩放。
android:src="@drawable/shui"
eg.注意获取ImageView的位图以及创建位图的方法
五、AdapterView
继承于ViewGroup,本质是容器。包含多个列表项,并将多个列表项以合适的形式显示出来;他显示的多个列表项由Adapter提供。调用AdapterView的setAdapter(Adapter)可设置Adapter。
1.ListView
创建方式有俩:第一,直接使用ListView进行创建;第二,让Activity继承ListActivity
eg.
相应entries定义在/res/values/arrays.xml下
2.ArrayAdapter创建ListView
创建ArrayAdapter必须指定三个参数:
1)Context:代表访问整个android应用的接口。几乎创建所有的组件都需要传入Context对象;
2)textViewResourceId:一个资源ID,代表一个TextView,该TextView组件将作为ArrayAdapter的列表项组件
3)数组或list:该数组或list负责为多个列表项组件提供数据。
eg.
3.SimpleAdapter创建ListView
ArrayAdapter功能有限,它的每个列表项必须是TextView;为了开发更为复杂的列表项,可以考虑使用SimpleAdapter。
关于SimpleAdapter的5个参数:
第一个参数为Context;
第二个参数是一个List<Map<?,?>>的集合对象,该集合中每个Map<?,?>对象生成一个列表项——可联想手机版QQ的联系人列表项(包含头像、昵称、个性签名);
第三个参数指定页面布局的ID,作为列表项组件
第四个参数是一个String[]类型的参数,该参数决定提取Map<String,?>对象中哪些key对应的value来生成列表项;
第五个参数是一个int[]型的参数,该参数决定填充哪些组件。即指定页面布局文件中填充的目标组件。
另外,可以为每一个列表项指定单击事件的监听器.
list.setonItemClickListener(new onItemClickListener(){...});
4.BaseAdapter
扩展BaseAdapter可取得Adapter的最大控制权:程序要创建多少列表项,每个列表项的组件都由开发者自己决定。
扩展BaseAdapter对象需要重写如下几个方法:
getCount():控制该Adapter将会包含多少个列表项?
getItem(int position):决定第position处列表项的内容
getItemId(int position):决定第position处列表项的id
getView(int position, View convertView, ViewGroupParent):决定第position处的列表项组件。
文本框组件,直接继承View,也是EditText和Button的父类
android:hint | setHint(int) | 默认显示的提示文本 |
android:inputType | setRawInputType(int) | 类似于HTML中input的type属性 |
android:linksClickable | setLinksClickable(boolean) | 控制文本框的URL、Email等链接是否可点击 |
android:maxLines | setMaxLines(int) | 设置该文本框最多占几行 |
android:password | 该文本框是一个密码框 | |
android:phoneNumber | 该文本框只接受电话号码 | |
android:singleLine | 设置该文本框是否为单行模式 |
二、EditText
android:inpuType="numberPassword" | 只接受数字密码 |
android:inputType="number" | 数值输入框 |
android:inputType="date" | 日期输入框 |
android:inputType="phone" | 电话号码输入框 |
android:selectAllOnFocus="true" | 如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置 |
三、单选框复选框(CheckBox、RadioButton),ToogleButton,Switch
1.CheckBox、RadioButton都有一个android:checked属性,用于指定初始状态是否被选中。如果在布局文件中默认勾选了某个单选按钮,必须为该单选按钮的每个按钮设置android:id属性
eg:
rg = (RadioGroup) findViewById(R.id.rg); rg.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { String tip = checkedId == R.id.male ? "您的性别是男人": "您的性别是女人"; // 修改show组件中的文本。 show.setText(tip); } });
2.ToogleButton,Switch通常用于状态切换
四、ImageView组件
android:scaleType设置所显示的图片如何缩放或移动以适应ImageView的大小;当scaleType的值为center时,则会把图片放在ImageView的中间,但不进行任何缩放。
android:src | setImageResource(int) | 设置ImageView所显示的Drawable对象的ID |
android:src="@drawable/shui"
eg.注意获取ImageView的位图以及创建位图的方法
final ImageView image1 = (ImageView) findViewById(R.id.image1); final ImageView image2 = (ImageView) findViewById(R.id.image2); // more code …… BitmapDrawable bitmapDrawable = (BitmapDrawable) image1 .getDrawable(); // 获取第一个图片显示框中的位图 Bitmap bitmap = bitmapDrawable.getBitmap(); image2.setImageBitmap(Bitmap.createBitmap(bitmap , x, y, 120, 120));
五、AdapterView
继承于ViewGroup,本质是容器。包含多个列表项,并将多个列表项以合适的形式显示出来;他显示的多个列表项由Adapter提供。调用AdapterView的setAdapter(Adapter)可设置Adapter。
1.ListView
创建方式有俩:第一,直接使用ListView进行创建;第二,让Activity继承ListActivity
eg.
<ListView android:id="@+id/android:list" android:layout_width="match_parent" android:layout_height="match_parent" android:entries="@array/books"/>
相应entries定义在/res/values/arrays.xml下
2.ArrayAdapter创建ListView
创建ArrayAdapter必须指定三个参数:
1)Context:代表访问整个android应用的接口。几乎创建所有的组件都需要传入Context对象;
2)textViewResourceId:一个资源ID,代表一个TextView,该TextView组件将作为ArrayAdapter的列表项组件
3)数组或list:该数组或list负责为多个列表项组件提供数据。
eg.
ListView list = (ListView) findViewById(R.id.list1); // 定义一个数组 String[] arr = { "xxx", "xxx", "xxx" }; // 将数组包装ArrayAdapter ArrayAdapter<String> adapter1 = new ArrayAdapter<String> (this, R.layout.array_item, arr); // 为ListView设置Adapter list.setAdapter(adapter);
3.SimpleAdapter创建ListView
ArrayAdapter功能有限,它的每个列表项必须是TextView;为了开发更为复杂的列表项,可以考虑使用SimpleAdapter。
private String[] names = new String[] { "xx", "xx", "xx", "xx"}; private String[] descs = new String[] { "xxx", "xxx" , "xxx", "xxx"}; private int[] imageIds = new int[] { R.drawable.xx, R.drawable.xx , R.drawable.xx, R.drawable.xx}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 创建一个List集合,List集合的元素是Map List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>(); for (int i = 0; i < names.length; i++) { Map<String, Object> listItem = new HashMap<String, Object>(); listItem.put("header", imageIds[i]); listItem.put("personName", names[i]); listItem.put("desc", descs[i]); listItems.add(listItem); } // 创建一个SimpleAdapter SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems, R.layout.simple_item, new String[] { "personName", "header" , "desc"}, new int[] { R.id.name, R.id.header , R.id.desc }); ListView list = (ListView) findViewById(R.id.mylist); // 为ListView设置Adapter list.setAdapter(simpleAdapter); }
关于SimpleAdapter的5个参数:
第一个参数为Context;
第二个参数是一个List<Map<?,?>>的集合对象,该集合中每个Map<?,?>对象生成一个列表项——可联想手机版QQ的联系人列表项(包含头像、昵称、个性签名);
第三个参数指定页面布局的ID,作为列表项组件
第四个参数是一个String[]类型的参数,该参数决定提取Map<String,?>对象中哪些key对应的value来生成列表项;
第五个参数是一个int[]型的参数,该参数决定填充哪些组件。即指定页面布局文件中填充的目标组件。
另外,可以为每一个列表项指定单击事件的监听器.
list.setonItemClickListener(new onItemClickListener(){...});
4.BaseAdapter
扩展BaseAdapter可取得Adapter的最大控制权:程序要创建多少列表项,每个列表项的组件都由开发者自己决定。
myList = (ListView) findViewById(R.id.myList); BaseAdapter adapter = new BaseAdapter() { @Override public int getCount() { // 指定一共包含40个选项 return 40; } @Override public Object getItem(int position) { return null; } // 重写该方法,该方法的返回值将作为列表项的ID @Override public long getItemId(int position) { return position; } // 重写该方法,该方法返回的View将作为列表框 @Override public View getView(int position , View convertView , ViewGroup parent) { // 创建一个LinearLayout,并向其中添加2个组件 LinearLayout line = new LinearLayout(BaseAdapterTest.this); line.setOrientation(0); ImageView image = new ImageView(BaseAdapterTest.this); image.setImageResource(R.drawable.ic_launcher); TextView text = new TextView(BaseAdapterTest.this); text.setText("第" + (position +1 ) + "个列表项"); text.setTextSize(20); text.setTextColor(Color.RED); line.addView(image); line.addView(text); // 返回LinearLayout实例 return line; } }; myList.setAdapter(adapter); }
扩展BaseAdapter对象需要重写如下几个方法:
getCount():控制该Adapter将会包含多少个列表项?
getItem(int position):决定第position处列表项的内容
getItemId(int position):决定第position处列表项的id
getView(int position, View convertView, ViewGroupParent):决定第position处的列表项组件。
发表评论
-
启动其他Activity并保存结果到指定组件上
2015-03-05 14:40 705启动其他Activity的Activity: publi ... -
弹出列表对话框,选择列表项后返回结果并消失
2015-03-05 14:24 1288最近的开发过程中,有选择时间段的需求,需要弹出一个列表对话框 ... -
使用ListView保存历史输入记录
2015-03-05 13:57 3610android应用中,经常需要保存用户的输入记录,以保证用户 ... -
启动其他Activity的Fragment并返回结果
2015-02-02 16:08 2786本人最近在开发类似订票app的过程中,遇到一个问题,订票界 ... -
android客户端与服务端交互的工具类
2015-01-29 10:38 942客户端: public class HttpUtil { ... -
android之带右侧字母(拼音)索引的列表
2015-01-29 10:29 4911在开发app的过程中,如果用到通讯录或者类似的列表,需要 ... -
android使用implements ActionBar.TabListener的方式创建导航
2015-01-29 09:59 2285上篇说到,android现在的版本已经不再推荐使用继承Ta ... -
模仿微信界面tabhost底部导航——使用继承ActivityGroup方式
2015-01-28 17:58 1818在一般常见的app中,常常会用到底部导航,而android ... -
Activity组件与Service组件通过BroadcastReceiver监听器通信
2014-12-25 11:41 18011.首先,Activity的onCreate方法中要有启动 ... -
ImageView加载图片资源并进行缩放
2014-12-05 09:40 1798android应用中常常需要加载R.drawable下的图片资 ... -
【转】APK反编译
2014-12-03 10:25 793原文作者:lpohvbe 原文地址:http://blog.c ... -
Bundle传递参数
2014-11-28 10:31 1714bundle是在android中十分有用的一种类,我们通常用 ... -
android UI小结(六)
2014-11-28 09:19 745一、选项菜单和子菜单 ... -
android UI小结(五)
2014-11-27 17:03 1077一、ScrollView 滚动视图 由FrameLayout派 ... -
android UI小结(四)
2014-11-27 16:19 1153一、Toast 提示信息框 用法较为简单: Toast.mak ... -
android UI小结(三)
2014-11-27 15:35 1087一、自动完成文本框 AutoCompleteTextView ... -
android UI小结(一)
2014-11-27 10:50 948一、view组件的一些特殊属性、相关方法和说明 XML属性相关 ... -
setBackground、setBackgroundDrawable、setBackgroundResource、setBackgroundColor的区别
2014-11-26 17:41 3036Android UI开发时,常常需要对view组件的背景图片或 ...
相关推荐
#### 四、小结 通过上述步骤,你可以有效地设置和运行Android UI自动化测试。这不仅可以提高测试效率,还能确保应用在各种设备上都能提供一致的用户体验。记住,在执行测试之前,请确保所有环境配置正确,并且已...
总之,Fragment是Android UI开发中的重要组成部分,它使得在不同屏幕尺寸和分辨率的设备上构建动态、灵活的用户界面成为可能。通过理解并熟练掌握Fragment的创建、通信、生命周期管理和回退栈管理等关键知识点,...
本资料包"Android问题小结"是针对Android开发者的一个宝贵资源集合,涵盖了多个方面的知识,包括事件分发机制、设计模式、图层管理、属性动画、框架使用、应用安全以及个人职业发展规划等。 首先,"技术交流--...
以下是对Android知识的一些小结,旨在分享遇到的问题及其解决方案,帮助开发者提升技能和解决问题。 1. **UI设计与布局**:Android使用XML来定义用户界面布局。`efefe.PNG`、`weff.PNG`可能展示了不同类型的布局,...
#### 四、小结 本文档详细介绍了Android UI开发中的关键知识点,特别是与界面设计密切相关的`android.content.res.Resources`和`android.graphics.Bitmap`两个类。通过学习这些基础知识,开发者可以更好地理解和...
#### 小结 本文详细介绍了Android UI中`Spinner`组件的基本使用以及如何结合适配器模式进行数据绑定。`Spinner`是Android开发中非常实用的一个组件,掌握其使用方法可以帮助开发者更好地设计用户界面,提供更友好的...
- 较小的体积和更低的资源消耗使得它非常适合移动设备。 - 支持同时运行多个虚拟机实例,这使得每个Android应用都能拥有独立的虚拟机环境。 #### 二、Dalvik虚拟机架构特点 - **基于寄存器架构**:与传统的JVM...
### Android高级工程师面试技术点小结 在当前竞争激烈的IT行业中,成为一名优秀的Android高级工程师不仅意味着需要具备深厚的技术功底,还需要不断跟进最新的技术趋势和发展方向。本文将根据标题、描述以及部分内容...
本章小结 42 第4章 UI基础知识 43 4.1 Android UI组件概述 43 4.1.1 View 43 4.1.2 ViewGroup 44 4.1.3 布局管理器 44 4.2 UI设计工具 44 4.2.1 DroidDraw工具 44 4.2.2 ADT插件UI设计工具 46 4.3 事件处理...
在Android开发领域,小结通常意味着对某个特定主题或技术的综合概述。在这个"android小结"中,我们可以探讨一些核心的Android知识点,包括但不限于源码解析、工具使用以及一个可能的示例项目"MainActivityDemo"。让...
在Android开发领域,一个入门级别的小项目通常会涵盖基本的操作,如增删查改(CRUD,Create、Read、Update、Delete),这是任何数据管理应用的基础。本项目以"Android入门小项目(增删查改操作)"为主题,旨在帮助初学...
设备独立像素(dip)是一种与设备分辨率无关的单位,用于确保UI元素在不同密度屏幕上保持一致的大小。将像素值(px)转换为dip的公式是:`px = (int) (dip * density + 0.5f)`,其中`density`是屏幕密度。注意,...
第1章 Android简介 1.1 手机操作系统 1.2 Android起源 1.3 Android特征 1.4 Android体系结构 1.4.1 应用层 1.4.2 应用框架层 1.4.3 系统库层 1.4.4 内核层 1.5 小结 练习 第2章 Android开发环境 2.1 ...
15.6 AndroidUI优化 15.7 其他优化 15.7.1 zipalign 15.7.2 图片优化 15.8 小结 第五部分 扩展篇 第16章 Android NDK开发 16.1 AndroidNDK简介 16.2 安装和配置NDK开发环境 16.2.1 系统和软件...
在Android应用开发中,图像加载是一个常见的...以上就是关于“Android异步加载图像小结(含线程池,缓存方法)”的主要知识点。在实际应用中,开发者应结合项目需求,合理选择和优化这些技术,以提供流畅的用户体验。
15.6 AndroidUI优化 15.7 其他优化 15.7.1 zipalign 15.7.2 图片优化 15.8 小结 第五部分 扩展篇 第16章 Android NDK开发 16.1 AndroidNDK简介 16.2 安装和配置NDK开发环境 16.2.1 系统和软件...
总之,理解并熟练掌握Android Drawable的使用对于提升UI设计和开发的灵活性至关重要。通过组合各种Drawable类型和属性,开发者可以创建出丰富多样的视觉效果,满足不同应用场景的需求。无论是简单的颜色填充还是复杂...
15.6 AndroidUI优化 15.7 其他优化 15.7.1 zipalign 15.7.2 图片优化 15.8 小结 第五部分 扩展篇 第16章 Android NDK开发 16.1 AndroidNDK简介 16.2 安装和配置NDK开发环境 16.2.1 系统和软件需求 16.2.2 NDK开发...