- 浏览: 178766 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (140)
- java (138)
- 佳能500d (1)
- 佳能 (1)
- Oracle数据库文档构造器--Oraschemadoc (1)
- EJB调用的原理分析 (1)
- 使用css3画"静音"icon (1)
- 张小庆,在路上(16)-给弟弟找工作 (1)
- Android短信编解码方式 (1)
- lua web 开发 (1)
- zk安装 (1)
- 菜单多国语言化遇到的问题 (1)
- 【转】纯文本配置还是注册表 (1)
- C++ delete删除动态分配的内存 (1)
- eclipse下修改项目名导致tomcat内发布名不一致的解决方法 (1)
- Lucene实现各种常见文档的全文检索 (1)
- 项目风险之人员流动风险 (1)
- 时空数据模型简介 (1)
- XSLT学习笔记 (1)
- 依然是计划 如果没有计划似乎就没有了动力 (1)
- How to Succeed in A Professional Career (1)
- 编程环境应该和讨论社区完美的进行结合 (1)
- C#坦克大战实现 (1)
- 电脑用户密码忘记了怎么办? (1)
- java.lang.NoClassDefFoundError: org/dom4j/DocumentException (1)
- 关于成立北京Android爱好者俱乐部的声明 (1)
- Android开发之初探音频的播放 (1)
- Struts标签循环List (1)
- CAP原理 (1)
- javabean的自动生成 (1)
- 打开CMD一闪就关的解决方案 (1)
- 我是项目经理,我的项目管理日记【20111202】 (1)
- Html5游戏开发入门笔记--<躲砖块> (1)
- mysql中查看和设置系统字符编码 (1)
- PhoneGap-Accelerometer (1)
- [Jetty]Jetty工作原理 (1)
- Ibatis+Spring整合实例Demo+源码 (1)
最新评论
-
u012985907:
dsdsdsdsd
FLASH上传与拍照 -头像-avatart -
a379933101:
?????????????????????????????
android listview 连续调用 getview问题分析及解决 -
151tmac:
拜托下次粘贴的时候,粘贴为纯文本
android listview 连续调用 getview问题分析及解决 -
liudezhong135:
...
Spring3MVC 在JSP中使用@ModelAttribute -
香飘飘2011:
要是不知道层次级别,如何退回到根目录呢
FTP退回到根目录
[size=large;]android开发中的ui控制(五)[/size]
转载自:http://www.android777.com/index.php/tutorial/android-view/androids-ui-control-v.html
下面看几个比较有意思的ui控件。
spinner:
spinner是adaperview的子类,跟listview、gridview一样,所以得设置adapter提供数据源。
效果图如下:
<p style="text-align: center;"><br><img src="http://dl.iteye.com/upload/attachment/531777/8e461bc2-83ba-319a-ab15-2a482d086451.png" alt="">
[size=large;]gallery:[/size]
gallery是一个横向的可滚动的list容器,它的焦点一直是在区域的中间部分。它一般用来显示一系列照片,特别是在触摸屏中经常使用它。可以通过在xml中定义:
然后跟其他的listview、gridview、spinner一样,我们将一个adapter与它进行绑定,用来显示几张图片。这边还有一个额外的操作就是要定义一个样式,作为它里面item的样式。在这边我们通过在attrs.xml里定义一个样式来实现:
res\values\attrs.xml:
然后将需要显示的图片(附件中的图片js1.jpg,js2.jpg,js3.jpg,js4.jpg,js5.jpg)放到res\drawable或res\drawable-*中。
在显示的activity里,定义一个内部类mybaseadapter用来将数据和gallery进行绑定。
mybaseadapter.java
然后在activity的oncreate方法中,找出gallery,然后将之前定义的所有图片资源放到自定义的adapter:mybaseadapter中,跟gallery绑定。
效果图如下:
<p style="text-align: center;"><br><img src="http://dl.iteye.com/upload/attachment/532052/c5dcad79-72dd-3459-af56-7397c5084ae2.png" alt="">
转载自:http://www.android777.com/index.php/tutorial/android-view/androids-ui-control-v.html
下面看几个比较有意思的ui控件。
spinner:
spinner是adaperview的子类,跟listview、gridview一样,所以得设置adapter提供数据源。
<?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" ><spinner android:id="@+id/spinner1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:prompt="@string/prompt_province" /></linearlayout>
效果图如下:
<p style="text-align: center;"><br><img src="http://dl.iteye.com/upload/attachment/531777/8e461bc2-83ba-319a-ab15-2a482d086451.png" alt="">
[size=large;]gallery:[/size]
gallery是一个横向的可滚动的list容器,它的焦点一直是在区域的中间部分。它一般用来显示一系列照片,特别是在触摸屏中经常使用它。可以通过在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" > <gallery android:id="@+id/gallery01" android:layout_width="fill_parent" android:layout_height="fill_parent" /></linearlayout>
然后跟其他的listview、gridview、spinner一样,我们将一个adapter与它进行绑定,用来显示几张图片。这边还有一个额外的操作就是要定义一个样式,作为它里面item的样式。在这边我们通过在attrs.xml里定义一个样式来实现:
res\values\attrs.xml:
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="mygallery"> <attr name="android:galleryitembackground" /> </declare-styleable></resources>
然后将需要显示的图片(附件中的图片js1.jpg,js2.jpg,js3.jpg,js4.jpg,js5.jpg)放到res\drawable或res\drawable-*中。
在显示的activity里,定义一个内部类mybaseadapter用来将数据和gallery进行绑定。
mybaseadapter.java
package com.zhouzijing.android;import java.util.list;import android.content.context;import android.content.res.typedarray;import android.util.log;import android.view.layoutinflater;import android.view.view;import android.view.viewgroup;import android.widget.baseadapter;import android.widget.imageview;import android.widget.textview;public class mybaseadapter extends baseadapter { private list<person> persons; context context; int mgalleryitembackground; public mybaseadapter(context context,list<person> persons){ this.persons = persons; this.context = context; //获取自定义样式 typedarray attr = context.obtainstyledattributes(r.styleable.mygallery); //获取样式里的资源 mgalleryitembackground = attr.getresourceid( r.styleable.mygallery_android_galleryitembackground, 0); attr.recycle(); } @override public int getcount() { return (persons==null)?0:persons.size(); } @override public object getitem(int position) { return persons.get(position); } @override public long getitemid(int position) { return position; } public class viewholder{ textview textviewitem01; imageview imageview; } @override public view getview(int position, view convertview, viewgroup parent) { final person person = (person)getitem(position); viewholder viewholder = null; if(convertview==null){ log.d("mybaseadapter", "新建convertview,position="+position); convertview = layoutinflater.from(context).inflate( r.layout.gallery1_item, null); viewholder = new viewholder(); viewholder.textviewitem01 = (textview)convertview.findviewbyid( r.id.text_view_01); viewholder.imageview = (imageview)convertview.findviewbyid( r.id.image_view_01); convertview.settag(viewholder); }else{ viewholder = (viewholder)convertview.gettag(); log.d("mybaseadapter", "旧的convertview,position="+position); } viewholder.textviewitem01.settext(person.title); viewholder.imageview.setimageresource(person.photo); viewholder.imageview.setbackgroundresource(mgalleryitembackground); return convertview; }}
然后在activity的oncreate方法中,找出gallery,然后将之前定义的所有图片资源放到自定义的adapter:mybaseadapter中,跟gallery绑定。
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.gallery1); //要显示的图片 final list<person> persons = new arraylist<person>(); persons.add(new person("夜景1",r.drawable.js1)); persons.add(new person("夜景2",r.drawable.js2)); persons.add(new person("夜景3",r.drawable.js3)); persons.add(new person("夜景4",r.drawable.js4)); persons.add(new person("夜景5",r.drawable.js5)); //显示gallery gallery g = (gallery) findviewbyid(r.id.gallery01); g.setadapter(new mybaseadapter(this, persons)); g.setonitemclicklistener(new onitemclicklistener(){ @override public void onitemclick(adapterview<?> parent, view view, int position, long id) { toast.maketext(getapplicationcontext(), "点击了"+persons.get(position).title, toast.length_short).show(); } }); }
效果图如下:
<p style="text-align: center;"><br><img src="http://dl.iteye.com/upload/attachment/532052/c5dcad79-72dd-3459-af56-7397c5084ae2.png" alt="">
发表评论
-
Ibatis+Spring整合实例Demo+源码
2012-02-08 12:58 1429<span style="color: ... -
[Jetty]Jetty工作原理
2012-02-07 17:29 1010http://www.ibm.com/develo ... -
PhoneGap-Accelerometer
2012-02-07 14:23 1228采集设备在x、y、z方向上的动作。 acce ... -
mysql中查看和设置系统字符编码
2012-02-04 14:28 1732--查看数据库的字符集 show variables ... -
Html5游戏开发入门笔记--<躲砖块>
2012-02-03 12:04 1186学习了html5中的canvas画布元素,自己写了一个 ... -
我是项目经理,我的项目管理日记【20111202】
2012-02-03 10:19 1018其实前段时间项目 ... -
打开CMD一闪就关的解决方案
2012-02-02 12:14 1419转:http://blog.163.com/cumt_ ... -
javabean的自动生成
2012-02-02 11:59 1432在jcreator pro中自动生成 在j ... -
CAP原理
2012-02-01 09:00 1180作者:NinGoo 原文链接:ht ... -
Struts标签循环List
2012-01-31 14:18 986<pre name="code&quo ... -
Android开发之初探音频的播放
2012-01-11 16:29 1137<h1>Android开发之初探音频的播放 ... -
关于成立北京Android爱好者俱乐部的声明
2012-01-11 14:33 887<blockquote dir="lt ... -
java.lang.NoClassDefFoundError: org/dom4j/DocumentException
2011-12-28 13:03 15156<span style="font-f ... -
电脑用户密码忘记了怎么办?
2011-12-28 12:14 1008<span style="fon ... -
C#坦克大战实现
2011-12-20 13:29 1147记得在大学学java ... -
编程环境应该和讨论社区完美的进行结合
2011-12-19 11:54 787在学习.NET过程中,经常会遇到很多问题,有的时候会找 ... -
How to Succeed in A Professional Career
2011-12-19 10:29 764(From Microsoft)<br>& ... -
依然是计划 如果没有计划似乎就没有了动力
2011-12-15 10:39 899</span></span>& ... -
XSLT学习笔记
2011-12-14 14:04 691<p class="MsoNorma ... -
时空数据模型简介
2011-12-14 13:59 1510<p class="MsoNo ...
相关推荐
6. **DialogFragment**:对话框在Android应用中广泛应用,DialogFragment是Android官方推荐的方式,它继承自Fragment,可以方便地管理和控制对话框的显示与消失。 7. **动画(Animation)**:Android支持属性动画...
本文将深入探讨Android 8.1版本的SystemUI源码,介绍其结构、工作原理以及如何利用提供的gradle配置进行开发。 首先,让我们来看看`SystemUI`的构成。SystemUI组件主要由以下几个部分组成: 1. **StatusBar**:...
在Android系统架构中,SystemUI位于应用层与系统服务层之间,它提供了通知中心、状态栏、快速设置面板、锁屏界面以及各种系统级别的交互控件。深入理解SystemUI的源代码对于开发者优化系统UI性能、自定义系统行为或...
在Android应用开发中,验证码界面UI的实现是一个常见的功能,主要用于身份验证或安全验证环节。本文将详细讲解如何在Android中实现一个具有60秒倒计时功能的验证码界面,以及如何通过PopupWindow来弹出这个界面。 ...
Android开发自定义View之仿米家APP双色灯控制UI:做一个智能家居产品的简单智能灯UI https://blog.csdn.net/xh870189248/article/details/80486158
在本资源中,"老罗Android开发视频教程 (android常用UI编程) 26-33集源码.zip"是一个包含Android应用开发教学内容的压缩文件。老罗,可能指的是知名的技术讲师罗永浩,以其通俗易懂的讲解风格而闻名。这个教程聚焦于...
在Android开发领域,UI设计是至关重要的一环,它直接影响到应用程序的用户体验和视觉吸引力。"Android新手UI集合全"这个资源包,显然为初学者提供了一整套的UI设计元素,帮助他们快速理解和实践Android应用界面的...
在Android开发过程中,UI设计是至关重要的一个环节,而颜色管理是UI设计中的核心部分。开发者经常需要知道屏幕上的各种UI元素所使用的具体颜色值,以便在代码中精确地重现这些颜色。本教程将详细介绍如何获取UI的...
Android UI 设计器是Android开发中的一个重要工具,它允许开发者直观地设计应用程序的用户界面,无需手动编写XML布局代码。这个工具极大地提升了开发效率,使得非程序员也能参与到UI设计中来,实现快速预览和调整...
总之,Android Things提供了将Android的丰富UI开发经验应用于物联网设备的机会。通过理解如何在有限的硬件资源上构建和管理UI,开发者可以创造出功能强大且直观的物联网解决方案。sample-simpleui项目就是一个很好的...
在Android应用开发中,UI框架的设计是至关重要的,它直接影响到应用的用户体验和代码的可维护性。"android项目整体UI框架"这个主题主要涵盖了三个方面:自定义Android项目的底部任务栏、实用Fragment的切换以及项目...
在Android开发中,锤子手机以其独特的UI设计风格赢得了众多用户的喜爱。为了实现类似锤子UI的布局,开发者需要深入理解Android布局系统,并掌握一些特殊的设计技巧。本篇将主要探讨如何在Android中仿制锤子UI的格子...
"android 音乐开发 UI素材"这个主题涉及到的是应用程序用户界面中的图形元素,尤其是针对音乐播放功能的按钮和布局设计。酷狗音乐和网易云音乐是两款在中国非常流行的音乐应用,它们的UI设计被广大用户所接受和喜爱...
在Android开发中,UI设计和实现是至关重要的部分。为了提高代码的可维护性和复用性,开发者常常会构建一个统一的UI框架。这个框架旨在规范应用中的界面设计,简化多维度UI管理,减少代码冗余,提升开发效率。本文将...
在Android开发中,模仿流行的移动应用UI布局是提升用户体验和设计水平的重要步骤。易信,作为一款在中国广受欢迎的即时通讯应用,其简洁而高效的设计风格深受用户喜爱。本源码项目专注于重现易信的UI布局,帮助...
在Android应用开发中,线程管理和UI更新是至关重要的部分,因为Android系统为每个应用程序分配一个主线程,也称为UI线程。主线程主要负责处理用户界面的交互,包括绘制和更新视图。然而,执行耗时的操作(如网络请求...
在Android开发中,UI设计是至关重要的一环,它关乎到应用程序的用户体验和视觉吸引力。本压缩包中的"android UI 各种小例子"为初学者提供了丰富的实践资源,旨在帮助开发者掌握基本的Android用户界面设计技巧。每个...
在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与...在学习过程中,建议结合官方文档和其他教程,以全面、深入地学习Android开发。