
Android View/UI
-
原创
ListView 编程: Adapter 何方神圣?
本来是想用一篇博客一口气写完:如何优化 ListView ,但是我发现这样做吃力不讨好,一方面,自己太累,另一方面给人的感觉是在记账,根本不是在交流。 最后还是觉得分开写会好一点,每一篇突出一个重点比较好。欢迎交流。 在这篇博客中,你可以了解到: 1)Adapter(适配器)模式简介 2)android Adapter 类简介 3)android2011-11-11 16:44:26 阅读数 6669 评论数 3 -
原创
UI效果(4): Button的那点事_01
再这篇博客中,您可以了解一下内容: 两个Button连在一起效果的实现方法 EditText不可编辑实现,以及注意事项 TextView自动连接web 再看代码之前,先看看效果吧! 运行之后,见下图: 点击save_settings,效果图如下: 再点击cancel_settings,效果图如下: 项目结构图: 效果图点到为止,看源码吧。2011-09-03 13:21:21 阅读数 1882 评论数 0 -
原创
UI效果(3): 自定义Dialog
在这篇博客中,你可以了解到下面几项内容: LayoutInflater 的使用 Dialog、AlertDialog与自定义布局 Button 的onClick属性 运行,界面就是两个BUtton 自定义Dialog 自定义AlertDialog 完整源码下载地址:http://downlo2011-08-11 19:19:35 阅读数 3302 评论数 2 -
原创
UI效果(7): Button的那点事_02
如果你对UI效果(4): Button的那点事_01感兴趣,可以看看。 该篇博客,分享Button的绑定事件如OnTouchListener、OnCliskListener、OnLongClickListener以及注意事项。 单击事件很简单,这里只说一个问题:isPressed()方法。 /** * 点击事件 * * @author mark *2011-09-08 16:33:10 阅读数 2855 评论数 0 -
原创
Spinner(3): OnItemSelectedListener 触发时机
博客Spinner(1): 由SDK引发的问题、Spinner(2): 动态添加资源简单介绍了spinner,但是 Spinner 还有陷阱,所以使用时应该注意。 本篇博客继续探讨Spinner及其注意事项,欢迎拍砖。 推荐一个网站,关于人工智能教程,教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 为 ...2011-08-08 20:07:06 阅读数 28131 评论数 10 -
原创
Spinner(2): 动态添加资源
本篇博客是基于上篇博客http://blog.csdn.net/androidbluetooth/article/details/6605223所写。 1. main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"2011-07-14 14:29:13 阅读数 3321 评论数 0 -
原创
Spinner(1): 由SDK引发的问题
Spinner 类似 widget,sdk_api 文档上面有这样一句话: Spinner is a widget similar to a drop-down list for selecting items.照着官网的例子,先给没用过Spinner的同志扫扫盲,step by step 吧! 1. 新建项目 SpinnerUsedResources 这个名称主要是想说明该项目,用2011-07-14 13:30:00 阅读数 2183 评论数 0 -
原创
ListView 编程: 如何优化自定义 Adapter
使用自定义的 Adapter,需要优化,说到底是优化我们自定义的适配器类! 再说到底就是优化回调方法 getView 方法。 ListView 编程: Adapter 何方神圣? 博客中,只是简单的介绍了如何去自定义一个适配器以及注意事项。 但是....... 如果像 ListView 编程: Adapter 何方神圣? 中的示例代码那样去写程序的话,那么估计要被老大BS2011-11-11 21:40:54 阅读数 3317 评论数 6 -
原创
UI效果(9): 屏幕相关操作
android中有很多未知的“路”,只有走好每一步,才有可能找到捷径!!! 1. 获取 android 设备屏幕大小 在说具体的操作方法之前,我们先了解一下几个知识点,下面都是都是自己的语言描述,与专业术语有差异。 a. 像素与分辨率 像素,指的是一定区域类(矩形区域)横向、纵向上点的乘积的结果,单位是 pixel. 分辨率,指的是一定区域类(矩形2011-05-23 19:46:00 阅读数 2625 评论数 2 -
原创
View编程(9): TypeArray、attrs.xml
博客 http://blog.csdn.net/androidbluetooth/article/details/6725005 简单介绍了一下如何自定义 view 以及如何为自定义的 view 定义属性。 这篇博客接着聊聊关于自定义属性。 我们可以在 res/values/attrs.xml 里面自定义属性,那麽可以定义哪些属性,究竟又该如何定义? 在 google2012-03-29 23:06:12 阅读数 3688 评论数 0 -
原创
UI 效果(9):merge 的点点滴滴
android 布局中经常会用到 标签,来优化 ui 布局。 具体如何优化,可以借助 android sdk 提供的 tools/hierarchyviewer 工具。 这个工具,并不是万能的,你需要自己去根据实际情况分析和优化自己的布局。 该工具的使用可以查阅资料,这里不赘述。 关于 使用,推荐一篇文章,简单明了 http://www.bangchui.org/s2012-11-20 10:40:35 阅读数 2696 评论数 0 -
原创
UI 设计:pixel dip dpi sp density
-----------整理自网络----------- 1. px (pixels)像素 – 是像素,就是屏幕上实际的像素点单位。 dip或dp (device independent pixels)设备独立像素,与设备屏幕有关。 sp (scaled pixels — best for text size):类似dp,主要处理字体的大小。 dpi(dot per inch2012-12-18 12:49:10 阅读数 2264 评论数 0 -
原创
UI效果(5): 实现Activity刷新
目前刷新Acitivity,只想到几种方法。仅供参考,如果您有更好的方法,请赐教。 程序界面: 点击refresh view可以刷新界面,点击write content可以在EditText中自动写入文字。 1. intent package mark.zhang; import android.app.Activity; import android.content.Inten2011-09-03 15:58:06 阅读数 27177 评论数 15 -
原创
UI效果(2): shape
android中的控件不是很多,布局也很少。但是这些东西很灵活,所以想设计好的界面还是需要一定的功底的。 本篇博客,您可以了解到: 自定义 Toast Button特殊效果 在sdk的api中,相信你可以找到名为Shape Drawable的这样一篇文章,位置: 如果,你想更加理解掌握这篇博客,建议好好地、仔细地看看这篇Shape Drawable文章。 秀一下效果图,呵呵2011-07-26 11:44:41 阅读数 1296 评论数 2 -
原创
View编程(8): 自定义 View 如何注册广播
想象这样一种情景:自定义 View 需要在外界条件改变的时候,改变自己的状态,并且这个条件改变的同时会发送一条广播,那麽如何做呢? 在 android opensource: Settings 研究_android 组件如何响应语言变化 博客中,说过我会跟大家交流一下如何在自己定义的 View 中注册以及接收广播。 在贴代码之前,先看看 View 的两个回调方法 onAt2012-01-12 22:05:15 阅读数 3451 评论数 2 -
原创
View编程(7): 自定义View_03
根据android的api demo中提供的例子,自己尝试写一个自定义View,算是做个复习。 这篇博客是建立在View编程(5): 自定义View_01_ApiDemo源码研究、View编程(6): 自定义View_02_ApiDemo源码研究基础之上。 以上两篇博客是对某些知识点的原理性分析,该篇也算是一个小结,没有什么原理可说。好嘞,废话到此为止。 1. 自定义View MyView2011-08-27 17:31:07 阅读数 3399 评论数 2 -
原创
View编程(6): 自定义View_02_ApiDemo源码研究
阅读这篇博客之前,假设你已经研究了 View编程(5): 自定义View_01_ApiDemo源码研究 提供的实例。 当时,很奇怪为什么会出现这样的log:(在手机上测试结果,不是在模拟器上。) D/mark ( 2924): onMeasure() is invoked! D/mark ( 2924): onMeasure() is invoked! D/mark (2011-08-20 15:48:14 阅读数 2596 评论数 0 -
原创
View编程(5): 自定义View_01_ApiDemo源码研究
android提供的APIDemo中,在/res/values下面有个attrs.xml文件。 其内容如下: <!-- Copyright (C) 2007 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you m2011-08-18 22:00:09 阅读数 3260 评论数 2 -
原创
View编程(4): Template method
说重点之前,给大家推荐一篇文章,算是对View绘图的一个小例子。 public class AndroidTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);2011-08-17 22:06:29 阅读数 1868 评论数 0 -
原创
View编程(3): invalidate()源码分析
View编程(2): invalidate()再探博客中,说了加载View的onDraw()方法的时机以及invalidate()方法的作用。 事实上,远远没有您想象的那么简单。为了写好这篇博客,还是拿例子说事吧。 package mark.zhang; import android.app.Activity; import android.content.Context; import2011-08-17 20:57:03 阅读数 9911 评论数 15 -
原创
View 编程(0): 认识 LayoutInflater
LayoutInflater 在 android 开发中使用频率较高,需要留意! 该类是一个抽象类,在文档中如下声明: public abstract class LayoutInflater extends Object 1. 获得 LayoutInflater 实例 三种方法可以获得该实例对象,方法如下: a. LayoutInflater2011-07-12 19:17:27 阅读数 4291 评论数 3 -
原创
View编程(1): Window、View与setContentView()
只要你使用过Activity,那么你一定使用过setContentView这个方法。一般都是这样调用该方法: setContentView(R.layout.main);然后,在手机或者模拟器上就可以看见自己的布局。 如果,你留意的话,setContentView还有很多过载方法: public void setContentView(int layoutResID) {2011-08-16 21:08:15 阅读数 9366 评论数 11 -
原创
View编程(2): invalidate()再探
博客 Android(四) :更新UI的方法 中提到invalidate()方法,但是由于自己的阅历不足,没有过多的说明,只是泛泛而谈!本篇继续探究这个诡异的方法。 在阅读本篇博客之前,建议您先看看 View编程(1): Window、View与setContentView() 基于 Android(四) :更新UI的方法 中的例子,稍作修改: package mark.2011-08-16 22:23:17 阅读数 8964 评论数 7 -
原创
UI效果(8): 为你的 App 设置图标
做 android 开发这么久,还是不能很熟练的处理各种图标。 在一个好的 App 中,界面的好坏直接影响用户体验。而图标则是界面的一部分资源,所以很值得重视。 不管是menu,还是启动图标,或者是状态栏的图标,我们需要很好的做出选择,那麽怎么样去做到适应各种像素呢?看下面这张图: 来源:Android 图标ICO设计标准与原则 这是一篇好文章。2011-09-20 14:02:02 阅读数 1217 评论数 0 -
原创
UI效果(6): EditText与软键盘
EditText需要注意的地方很多,所以做个小结。 该篇博客会持续更新。 下面的内容来自:http://www.learningandroid.net/blog/,自己稍加修改。 下面的LAYOUT定义文件举了一些例子说明inputType和imeOptions的使用。 <EditText android:id="@+id/textNormal" android:layo2011-09-07 11:08:46 阅读数 2815 评论数 0 -
原创
UI效果(1):实现Activity全屏
在开发的过程中,为了增加更好的视图效果,需要将当前Activity设置为全屏模式。几经波折,顺利搞定。在这里分享给大家! 先看这段代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main2011-05-19 15:49:00 阅读数 10637 评论数 8