08 2012 档案

摘要:实现简介ViewPagerViewPager类提供了多界面切换的新效果。新效果有如下特征:[1] 当前显示一组界面中的其中一个界面。[2] 当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分。[3] 滑动结束后,界面自动跳转到当前选择的界面中ViewPager来源于google 的补充组件android-support-v4.jar,位置在androidSDK文件夹android-sdks\extras\android\support\ 下将android-support-v4.jar 引用到项目中注:该包需要在Android SDK Manager中额外下载Extras下的 阅读全文
posted @ 2012-08-30 16:24 幻星宇 阅读(2650) 评论(0) 推荐(1) 编辑
摘要:1、ViewFlipper1)View切换的控件—ViewFlipper介绍ViewFilpper类继承于ViewAnimator类。而ViewAnimator类继承于FrameLayout。查看ViewAnimator类的源码可以看出此类的作用主要是为其中的View切换提供动画效果。该类有如下几个和动画相关的方法。setInAnimation:设置View进入屏幕时候使用的动画。该方法有两个重载方法,即可以直接传入Animation对象,也可以传入定义的Animation文件的resourceID。setOutAnimation:设置View退出屏幕时候使用的动画。使用方法和setInAni 阅读全文
posted @ 2012-08-30 12:03 幻星宇 阅读(654) 评论(0) 推荐(0) 编辑
摘要:本文参考http://kofi1122.blog.51cto.com/2815761/521605和http://blog.csdn.net/qizi329/article/details/6309819 <shape><!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:an 阅读全文
posted @ 2012-08-28 14:21 幻星宇 阅读(354) 评论(0) 推荐(0) 编辑
摘要:ListView中每个Item项之间都有分割线,设置android:footerDividersEnabled表示是否显示分割线,此属性默认为true。1.不显示分割线只要在ListView控件中添加android:footerDividersEnabled="false"即可。(list中的最后一项没有分割线)[html] view plaincopy<ListViewandroid:id="@+id/local_groups_list"android:layout_width="match_parent"android:la 阅读全文
posted @ 2012-08-27 11:39 幻星宇 阅读(1149) 评论(0) 推荐(0) 编辑
摘要:Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结:先看下面的代码: <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /> < 阅读全文
posted @ 2012-08-24 17:53 幻星宇 阅读(197) 评论(0) 推荐(0) 编辑
摘要:Android 有个 Application 的类,弄个子类继承它,就可以往里面放东西。最早我见到各种地方是拿它来取 context 的,后来我有一阵子把各种变量也放里面,但是后来发现就算是Application也还是会遇到被系统回收,所有变量清空重新初始化的情况,于是感觉这样 用不太妥当。后来想来想去,这东西也就是个取 context 的功用而已,我感觉连单例模式都不要用都行。context其实就2类,1类是activity的context,就是给new alertdialog.builder用的,1类是context,随便都可以,View.inflate都是随便context都ok的。01 阅读全文
posted @ 2012-08-24 16:10 幻星宇 阅读(305) 评论(0) 推荐(0) 编辑
摘要:1.自定义 ExpandableListView 的group的样式 目的:把小箭头放在右边 先把 groupIndicator 属性禁掉,android:groupIndicator="@null",然后把自定义的布局加入 @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { // TODO Auto-generated method st... 阅读全文
posted @ 2012-08-24 15:00 幻星宇 阅读(1439) 评论(0) 推荐(0) 编辑
摘要:三种不同的时钟是适合的,并且他们不应该被混淆:System.currentTimeMillis()是一个标准的“墙”时钟(时间和日期)表达毫秒自纪元。该墙时钟能够被用户或电话网络(见setCurrentTimeMillis(long))设置,所以时间可能会向前或向后不可预知地跳。该时钟应该仅仅被使用,当现实世界的对应的日期和时间是重要的,例如在一个日历或闹钟应用程序。间隔的或经过的时间测量应该使用一个不同的时钟。如果你使用System.currentTimeMillis(),考虑监听ACTION_TIME_TICK,ACTION_TIME_CHANGED和ACTION_TIMEZONE_CHA 阅读全文
posted @ 2012-08-24 13:43 幻星宇 阅读(641) 评论(0) 推荐(0) 编辑
摘要:在xml 文件里定义控件的属性,我们已经习惯了android:attrs="" ,那么我们能不能定义自己的属性能,比如:test:attrs="" 呢?答案是肯定的. 进入主题。大致以下步骤:一、 在res/values 文件下定义一个attrs.xml 文件.代码如下: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MyView"> <attr n 阅读全文
posted @ 2012-08-24 11:02 幻星宇 阅读(345) 评论(0) 推荐(0) 编辑
摘要:1.最大的空虚莫过于在终点前回首自己走过的路是一片空白。 阅读全文
posted @ 2012-08-24 10:06 幻星宇 阅读(132) 评论(0) 推荐(0) 编辑
摘要:php中将IP转换成整型的函数ip2long()容易出现问题,在IP比较大的情况下,会变成负数。例如:1<?php2$ip = '192.168.127.1';3$ip_n = ip2long($ip);4echo $ip_n; //得到 -10626992635?>由于IP转换成的整型值太大超出了整型的范围,所以变成负数。需写成$ip_n = bindec(decbin(ip2long($ip)));这样便可得到无符号的整型数,如下所示:1<?php2$ip = '192.168.127.1';3$ip_n = bindec(decbin(i 阅读全文
posted @ 2012-08-24 09:57 幻星宇 阅读(492) 评论(0) 推荐(0) 编辑
摘要:TabActivity首先Android里面有个名为TabActivity来给我们方便使用。其中有以下可以关注的函数:public TabHost getTabHost () 获得当前TabActivity的TabHostpublic TabWidget getTabWidget () 获得当前TabActivity的TabWidgetpublic void setDefaultTab (String tag) 这两个函数很易懂,就是设置默认的Tabpublic void setDefaultTab (int index) 通过tab名——tag或者index(从0开始)protected v 阅读全文
posted @ 2012-08-23 15:01 幻星宇 阅读(238) 评论(0) 推荐(0) 编辑
摘要:首先,style和theme都是资源,android提供了很多这样的默认资源。你可以来使用它们。同时你也可以自己定义style和 theme。这非常的简单,只需要在res/values/这个路径里面新建一个.xml文件,而且他的根节点必须 是<resources>.对每一个style和 theme,给<style>element增加一个全局唯一的名字,也可以选择增加一个父类属性,我们写的style和theme就会继承 这个父类的属性。style和theme的定义格式相同。不过style是针对view来说的,比如TextView,EditText这些,而 theme必须针 阅读全文
posted @ 2012-08-23 11:00 幻星宇 阅读(316) 评论(0) 推荐(0) 编辑
摘要:上篇博客我们写了一个Itab类,介绍了背景的绘制和简单的一个图的贴图方法。我们继续来完成Itab这个类,同时把他放到 MainAcitvity(继承Activity)这个类内部,这样,整个程序只需一个类就可以了。(上篇博客例子运行需要再建一个Activity的子 类来作为lanucher)。废话不多说了,看看代码[java] view plaincopypublicstaticclassiTabextendsView{privatePaintmPaint;//背景画笔privatePaintmActiveTextPaint;//选中privatePaintmInactiveTextPaint; 阅读全文
posted @ 2012-08-23 10:58 幻星宇 阅读(257) 评论(0) 推荐(0) 编辑
摘要:相信很多人都喜欢iphone 酷炫的界面,虽然android的原生控件已经足够漂亮,但是往往不能满足用户越来越挑剔的眼光。其实,我们完全可以自己来绘制界面。今天我就来分享下做一个和iphone一样的tab界面。下面先来看下iphone上的效果在开始之前,我们必须掌握最基础的,也就是android中图形界面的绘制。首先讲下简单图形的绘制,这里我们就借绘制这个的背景部分来讲下吧。直接看代码[java] view plaincopy1publicclassItabextendsView{23privatePaintmPaint;45publicItab(Contextcontext,Attribut 阅读全文
posted @ 2012-08-23 10:56 幻星宇 阅读(310) 评论(0) 推荐(0) 编辑
摘要:最近在写一个应用,想把设置页面和应用页面放在一起,这样就能实现用户可以实时 看到自己的设置对UI的影响,从而更方便的设置用户喜欢的界面。想了一段时间,发现用slidingDrawer这个控件可以实现这个效果。也就是一个抽 屉。拉开抽屉,占据半个屏幕,另外半个屏幕还是显示应用页面。效果还是不错的。今天就和大家分享一下android中这个抽屉效果。其实在android的lanucher就是一个抽屉,打开它就可以看到安装的应用。相信大家都见过用过。下面我们就来做个相同的效果,当然只是UI上差不多相同的效果。slidingDrawer这个控件使用非常简单,基本在xml里面配置就可以。代码如下所示。&l 阅读全文
posted @ 2012-08-23 10:52 幻星宇 阅读(274) 评论(0) 推荐(0) 编辑
摘要:今天来讲下android UI设计中常要用到的可延伸图像。除了最基本的png,jpg与gif三种格式外,android还有一种叫做Nine-Patch的可延伸图 像.9.png。和png格式不同的是,他会随着属性物的大小变化而改变自己的大小,从而来适应属性物的大小。这个特点,在我们平常的UI设计中是非常实 用的。最常见的一个图片做按钮背景,来适配字体大小,这时候,你会发现,这种可延伸图像非常的好用。下面就来讲讲如何使用吧。Android SDK提供了一个工具来制造这种图像。在android sdk的tools目录下,有个draw9patch.bat的文件,就是他啦。运行它,将我们的图片拖进去, 阅读全文
posted @ 2012-08-23 10:50 幻星宇 阅读(185) 评论(0) 推荐(0) 编辑
摘要:下面就看看使用方法。首先初始化一个PopupWindow[java] view plaincopyPopupWindowmPop=newPopupWindow(getLayoutInflater().inflate(R.layout.window,null),LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);实现PopupWindow的构造函数,第一个参数导入布局,后面两个指定宽和高。弹窗一般有两种展示方法,用showAsDropDown()和showAtLocation()两种方法实现。一般参数有两种,有偏移和无偏移。[java] vi 阅读全文
posted @ 2012-08-23 10:44 幻星宇 阅读(313) 评论(0) 推荐(0) 编辑
摘要:再来看一下上篇博客中使用的框架布局的树形结构图: 根节点和LinearLayout上面那个子树为android的窗口布局,后面的TextView即为标签。黄色框内的这部分树形图即为我们的布局。可 以发现红色框出的FrameLayout是另一个FrameLayout的唯一子元素,并且该父节点并没有额外的属性,也就是说,它是完全冗余的,这时候 就要用<merge/>标签来解决这个问题。用<merge/>替换原来的<FrameLayout/>标签,修改 后的布局代码如下:[xhtml] view plaincopy<?xmlversion="1.0 阅读全文
posted @ 2012-08-23 10:41 幻星宇 阅读(209) 评论(0) 推荐(0) 编辑
摘要:1.使用<include /> 标签来重用layout代码如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在android开发文档中没有相关的介绍。在android主屏程序中 用到了这个标签:[xhtml:showcolumns] view plaincopy·········10········20···· 阅读全文
posted @ 2012-08-23 10:39 幻星宇 阅读(346) 评论(1) 推荐(0) 编辑
摘要:1. 概述: ViewStub组件和<include>标签的作用类似,主要是为了提高布局的重用性,及布局的模块化。它们之间最大的差别 是,ViewStub中的布局不会随着它所在布局的渲染而渲染,而<include>标签中的布局会随着它所在布局的渲染而渲 染,ViewStub中的布局只有在你需要的时候才会渲染到主界面中。2. 效果图: (1)在ButtonOne与ButtonTwo之间存在一个ViewStub布局,如下图: (2)单击ButtonOne后渲染ViewStub中的布局,如下图:3. 实现代码: (1)res/layout/main.xml实现:[java:f 阅读全文
posted @ 2012-08-23 10:34 幻星宇 阅读(277) 评论(0) 推荐(0) 编辑
摘要:第一个实现一个带图片和文字的按钮,如图所示: 整个过程可以分四步走。第一步,定义一个layout,实现按钮内部的布局。代码如下:[html] view plaincopy<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width=" 阅读全文
posted @ 2012-08-23 10:26 幻星宇 阅读(271) 评论(0) 推荐(0) 编辑
摘要:ViewPager需要android-support-v4.jar这个包的支持,来自google提供的一个附加包。大家搜下即可。ViewPager主要用来组织一组数据,并且通过左右滑动的方式来展示。现在的大多数应用都会有一个欢迎引导页面,如图所示,通过左右滑动来告知用户一些功能特性。这个引导图效果用ViewPager可以很轻松的实现。正如前面所说,ViewPager是用来展示一组数据的,所以肯定需要Adapter来绑定数据和view。先写一个Adapter:[java] view plaincopypackagecom.notice.viewpagerd;importjava.util.Lis 阅读全文
posted @ 2012-08-23 10:22 幻星宇 阅读(292) 评论(0) 推荐(0) 编辑
摘要:首先我们需要写Gallery的适配器。这里我们要注意的是Gallery有一个特点,就是起始一个元素的左边会留下一块空位,如下图所示: 这样我们的Tab显然不是很完美,如何解决?开始想的就是去看gallery的源码,重写他。不过既然我们做的是滑动的,让他左右都可滑动不就ok了?要实现左右滑动,要做的事情就是让里面的元素循环。Gallery是即时显示图像的,可以通过两点来做到: 1.让getCount()方法返回一个非常大的值。 2.在getView()中显示的时候通过循环取余来实现一直显示数组中的有限值。 而且Gallery还提供了一个setSelection()方法,用来设置当前选择的... 阅读全文
posted @ 2012-08-22 16:14 幻星宇 阅读(277) 评论(0) 推荐(0) 编辑
摘要:相信大家都体验过android通讯录中的弹窗效果。如图所示:android中提供了QuickContactBadge来实现这一效果。这里简单演示下。首先创建布局文件:[html] view plaincopy<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:la 阅读全文
posted @ 2012-08-22 16:06 幻星宇 阅读(446) 评论(0) 推荐(0) 编辑
摘要:关于listview的操作五花八门,有下拉刷新,分级显示,分页列表,逐页加载等,以后会陆续和大家分享这些技术,今天讲下下拉加载这个功能的实现。最初的下拉加载应该是ios上的效果,现在很多应用如新浪微博等都加入了这个操作。即下拉listview刷新列表,这无疑是一个非常友好的操作。今天就和大家分享下这个操作的实现。先看下运行效果: 代码参考国外朋友Johan Nilsson的实现,http://johannilsson.com/2011/03/13/android-pull-to-refresh-update.html。主要原理为监听触摸和滑动操作,在listview头部加载一个视图。那要做的. 阅读全文
posted @ 2012-08-22 14:44 幻星宇 阅读(942) 评论(0) 推荐(1) 编辑
摘要:当用户从网络上读取微薄的时候,如果一下子全部加载用户未读的微薄这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容。这时候,我们就需要用到另一个功能,那就是listview的分页了。通过分页分次加载数据,用户看多少就去加载多少。通常这也分为两种方式,一种是设置一个按钮,用户点击即加载。另一种是当用户滑动到底部时自动加载。今天我就和大家分享一下这个功能的实现。首先,写一个xml文件,moredata.xml,该文件即定义了放在listview底部的视图:[html] view plaincopy<?xmlversion="1.0"encodi 阅读全文
posted @ 2012-08-22 11:22 幻星宇 阅读(776) 评论(0) 推荐(0) 编辑
摘要:今天继续和大家分享涉及到listview的内容。在很多时候,我们会用到listview和checkbox配合来提供给用户一些选择操作。比如在一个 清单页面,我们需要记录用户勾选了哪些条目。这个的实现并不太难,但是有很多朋友来问我如何实现,他们有遇到各种各样的问题,这里就一并写出来和大家一起 分享。ListView的操作就一定会涉及到item和Adapter,我们还是先来实现这部分内容。首先,写个item的xml布局,里面放置一个TextView和一个CheckBox。要注意的时候,这里我设置了CheckBox没有焦点,这样的话,无法单独点击checkbox,而是在点击listview的条目后, 阅读全文
posted @ 2012-08-21 15:54 幻星宇 阅读(339) 评论(0) 推荐(0) 编辑
摘要:android: ui进阶:http://blog.csdn.net/column/details/uidev.html api示例代码:http://blog.csdn.net/column/details/mapdigitapidemos.html?page=1#7867374 android百科:http://wiki.eoeandroid.com/%E9%A6%96%E9%A1%B5 阅读全文
posted @ 2012-08-20 10:57 幻星宇 阅读(103) 评论(0) 推荐(0) 编辑
摘要:windows下:cmd导入sql文件的方法首先cd到sql文件所在的目录,然后mysql -uroot -p123 testwordpress.sql如果出现乱码,可以在dd.sql(或其他sql文件)后面跟上--default-character-set = utf8(设置默认的与表对应的字符集)如:mysql -u root -p123789456 -h 192.168.0.200 --default-character-set=utf8seagmwordpress.sql 阅读全文
posted @ 2012-08-16 16:56 幻星宇 阅读(338) 评论(0) 推荐(0) 编辑
摘要:很多网友对于Android全局配置文件AndroidManifest.xml不是很熟悉,今天我们就一起看下它完整的结构以及每个节点的作用。在我们日常的开发中都少不了下面的配置,每创建一个Activity、Service都离不开这个全局配置文件,深入的了解可以简化程序代码以及提高程序的维护性。 在最外层包含了包名如package="cn.android123.demo"、软件的版本号 android:versionCode="1" 以及 android:versionName="1.0" ,里面一层的application分支中将可能包 阅读全文
posted @ 2012-08-16 14:34 幻星宇 阅读(382) 评论(0) 推荐(0) 编辑
摘要:android.widget.Scroller是用于模拟scrolling行为,它是scrolling行为的一个帮助类。我们通常通过它的 startScroll(int startX, int startY, int dx, int dy, int duration)函数来设置一个scrolling行为模型,即在 int duration(单位为毫秒)时间的内从int startX, int startY,这个点起向X和Y方向分别滚动 int dx和 int dy个像素。然后我们可以调用 computeScrollOffset()计算此时scroll到的位置,并调用 getCurrX()和 g 阅读全文
posted @ 2012-08-15 14:38 幻星宇 阅读(543) 评论(0) 推荐(0) 编辑
摘要:android.view.VelocityTracker主要用跟踪触摸屏事件(flinging事件和其他gestures手势事件)的速率。用addMovement(MotionEvent)函数将Motion event加入到VelocityTracker类实例中.你可以使用getXVelocity() 或getXVelocity()获得横向和竖向的速率到速率时,但是使用它们之前请先调用computeCurrentVelocity(int)来初始化速率的单位 。主要函数Public MethodsvoidaddMovement(MotionEventevent)Add a user's 阅读全文
posted @ 2012-08-15 14:35 幻星宇 阅读(3013) 评论(0) 推荐(0) 编辑
摘要:phonegap是由温哥华的一家小公司研发的多平台的移动开发框架,支持流行的大多数移动设备(iPhone,Android ,BlackBerry,Symbian,Palm,Window Phone).目前phonegap获得Apple,IBM,NOKIA,palm等众多公司的支持.phonegap的优点:1.兼容性,完全做到了written once,run everywhere.2.标准化.phonegap使用W3C标准,可用html5+css3+JqueryMobile快速开发各平台的app3.开发成本低4.完全自由免费.phonegap采用MIT,BSD许可证.phonegap的缺点:1 阅读全文
posted @ 2012-08-14 14:53 幻星宇 阅读(293) 评论(0) 推荐(0) 编辑
摘要:Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画。Frame动画可以被定义在XML文件中,也可以完全编码实现。如果被定义在XML文件中,我们可以放置在/res下的anim或drawable目录中(/res/[anim | drawable]/filename.xml),文件名可以作为资源ID在代码中引用;如果由完全由编码实现,我们需要使用到 AnimationDrawable对象。如果是将动画定义在XML文件中的话,语法如下:[html] view plaincopy<?xmlversion="1.0"encoding=&qu 阅读全文
posted @ 2012-08-14 14:39 幻星宇 阅读(255) 评论(0) 推荐(0) 编辑
摘要:究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分。它们的区别在哪呢? 比如: 月份的定义 - 阳(公)历 一年12 个月,每个月的天数各不同; 阴(农)历,每个月固定28天; 每周的第一天 - 阳(公)历星期日是第一天;阴(农)历,星期一是第一天; 实际上,在历史上有着许多种纪元的方法。它们的差异实在太大了,比如说一个人的生日是"八月八日" 那么一种可能是阳(公)历的八月八日,但也可以是阴(农)历的日期。所以为了计时的统一,必需指定一个日历的选择。那现在最为普及和通用的日历就是"Gregorian 阅读全文
posted @ 2012-08-14 13:44 幻星宇 阅读(1394) 评论(0) 推荐(0) 编辑
摘要:实例:AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("选择货币类型"); QuitApp quitApp = new QuitApp("currency"); builder.setItems((String[]) currencyName .toArray(new String[currencyName.size()]), quitApp); AlertDialog dialog = builder.create(); dialog... 阅读全文
posted @ 2012-08-14 11:25 幻星宇 阅读(780) 评论(0) 推荐(0) 编辑
摘要:直接上实例:JSONObject currency = jsonData.getJSONObject("currency");for (Iterator iter = currency.keys(); iter.hasNext();) { String key = (String) iter.next(); currencyName.add(currency.getJSONObject(key).get("name")); currencyCode.add(key); } 阅读全文
posted @ 2012-08-14 11:23 幻星宇 阅读(1007) 评论(0) 推荐(0) 编辑
摘要:join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。<script type="text/javascript">var arr = new Array(3)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"document.write(arr.join())</script>如果是html中,你想显示6个li的话,如html += new Array(new Date(year, month - 1, 1 阅读全文
posted @ 2012-08-10 14:11 幻星宇 阅读(542) 评论(0) 推荐(0) 编辑
摘要:<script type="text/javascript">var d=new Date()var weekday=new Array(7)weekday[0]="Sunday"weekday[1]="Monday"weekday[2]="Tuesday"weekday[3]="Wednesday"weekday[4]="Thursday"weekday[5]="Friday"weekday[6]="Saturday"do 阅读全文
posted @ 2012-08-10 14:08 幻星宇 阅读(218) 评论(0) 推荐(0) 编辑
摘要:上面是我写的,刚才在网上看到一段更精悍的写法:// 求当月天数function maxDay(){ var d = new Date(); return new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate();}原理:下个月的0号就是当月的最后一天。 阅读全文
posted @ 2012-08-10 13:54 幻星宇 阅读(224) 评论(0) 推荐(0) 编辑
摘要:对于针对字符串位置的操作,第一个位置被标记为1。ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。mysql> select ASCII('2'); -> 50mysql> select ASCII(2); -> 50mysql> select ASCII('dx'); -> 100也可参见ORD()函数。 ORD(str)如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(sec 阅读全文
posted @ 2012-08-09 16:27 幻星宇 阅读(200) 评论(0) 推荐(0) 编辑
摘要:keycode 8 = BackSpace 回格keycode 9 = Tab keycode 12 = Clearkeycode 13 = Enter 回车keycode 16 = Shift_Lkeycode 17 = Control_Lkeycode 18 = Alt_Lkeycode 19 = Pausekeycode 20 = Caps_Lockkeycode 27 = Escape keycode 32 = space keycode 33 = Priorkeycode 34 = Nextkeycode 35 = Endkeycode 36 = Homekeycode 37 = L 阅读全文
posted @ 2012-08-09 11:53 幻星宇 阅读(173) 评论(0) 推荐(0) 编辑
摘要:一、[Android实例]实现TextView里的文字有不同颜色转eoe:http://www.eoeandroid.com/thread-4496-1-1.htmlimport android.text.Html;TextView t3 = (TextView) findViewById(R.id.text3); t3.setText( Html.fromHtml( "<b>text3:</b>Text with a " + "<a href=\"http://www.google.com\">link&l 阅读全文
posted @ 2012-08-09 11:38 幻星宇 阅读(267) 评论(0) 推荐(0) 编辑
摘要:做过web开发的人应该都知道,在HTML里支持<a>标签在文本里插入一个链接,点击后跳转;并且有<img>标签可 以插入图片。Android开发是否也支持呢?带着这个疑问,我们去APIDemos探索一下。OK,在 com.example.android.apis.text.link这个类里,官方演示了TextView支持的一些链接,上个图: 看来TextView是支持链接跳转的,不过做Android开发的应该都知道,android的View载体是Activity,能不能支持activity跳转呢,很遗憾,不支持。 不过无所谓,Android很有爱,开源的,理解了原理后我 阅读全文
posted @ 2012-08-09 11:32 幻星宇 阅读(690) 评论(0) 推荐(0) 编辑
摘要:背景介绍在开发应用过程中经常会遇到显示一些不同的字体风格的信息犹如默认的LockScreen上面的时间和充电信息。对于类似的情况,可能第一反应就是用不同的多个TextView来实现,对于每个TextView设置不同的字体风格以满足需求。这里推荐的做法是使用android.text.*;和android.text.style.*;下面的组件来实现RichText:也即在同一个TextView中设置不同的字体风格。对于某些应用,比如文本编辑,记事本,彩信,短信等地方,还必须使用这些组件才能达到想到的显示效果。主要的基本工具类有android.text.Spanned; android.text.S 阅读全文
posted @ 2012-08-09 11:27 幻星宇 阅读(465) 评论(0) 推荐(0) 编辑
摘要:res/values/attrs.xml<declare-styleable name="CellLayout"><!-- The width of a single cell --><attr name="cellWidth" format="dimension" /><!-- The height of a single cell --><attr name="cellHeight" format="dimension" />... 阅读全文
posted @ 2012-08-09 11:21 幻星宇 阅读(546) 评论(0) 推荐(0) 编辑
摘要:onMeasure方法在控件的父元素正要放置它的子控件时调用.它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec. 它们指明控件可获得的空间以及关于这个空间描述的元数据. 比返回一个结果要好的方法是你传递View的高度和宽度到setMeasuredDimension方法里. 接下来的代码片段给出了如何重写onMeasure.注意,调用的本地空方法是来计算高度和宽度的.它们会译解widthHeightSpec和heightMeasureSpec值,并计算出合适的高度和宽度值.java代码:@Overridepr... 阅读全文
posted @ 2012-08-09 11:05 幻星宇 阅读(2120) 评论(1) 推荐(0) 编辑
摘要:绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds()然后是draw(Canvas c)方法.有点注意的是背景drawable的实际大小会影响view组件的大小,drawable的实际大小通过 getIntrinsicWidth()和getIntrinsicHeight()获取,当背景比较大时view组件大小等于背景drawable的大 小 ... 阅读全文
posted @ 2012-08-07 13:35 幻星宇 阅读(374) 评论(0) 推荐(0) 编辑
摘要:背景选择器 Selector的结构描述:<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:color="hex_color" android:state_pressed="true/false"“true”表示按下状态使用(例如按钮按下);“false”表示非按下状态使用 阅读全文
posted @ 2012-08-07 12:15 幻星宇 阅读(297) 评论(0) 推荐(0) 编辑
摘要:getX()是表示Widget相对于自身左上角的x坐标而getRawX()是表示相对于屏幕左上角的x坐标值(注意:这个屏幕左上角是手机屏幕左上角,不管activity是否有titleBar或是否全屏幕),getY(),getRawY()一样的道理 阅读全文
posted @ 2012-08-06 12:21 幻星宇 阅读(177) 评论(0) 推荐(0) 编辑
摘要:在Android游戏开发中我们不免要涉及到一些图形特效处理,今天主要看下Android平台下实现渐变效果。在 android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果android123使用一个简单的例子来说明。 一、LinearGradient线性渐变 在android平台中提供了两种重载方式来实例化该类分别为,他们的不同之处为参数中第一种方法可以用颜色数组,和位置来实现更细 阅读全文
posted @ 2012-08-06 11:21 幻星宇 阅读(474) 评论(0) 推荐(0) 编辑
摘要:上一篇Android画图之Matrix(一) 讲了一下Matrix的原理和运算方法,涉及到高等数学,有点难以理解。还好Android里面提供了对Matrix操作的一系列方便的接口。 Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set, post和pre三种操作方式,除了translate,其他三种操作都可以指定中心点。 set是直接设置Matrix的值,每次set一次,整个Matrix的数组都会变掉。 post是后乘,当前的矩阵乘以参数给出的矩阵。可以连续多次使用post,来 阅读全文
posted @ 2012-08-06 11:11 幻星宇 阅读(239) 评论(0) 推荐(0) 编辑
摘要:Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。 首先介绍一下矩阵运算。加法和减法就不用说了,太简单了,对应位相加就好。图像处理,主要用到的是乘法 。下面是一个乘法的公式: 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵。如下图。 没专业工具,画的挺难看。解释一下,上面的sinX和cosX,表示旋转角度的cos值和sin值,注意,旋转角度是按顺时针方向计算的。translateX和translateY表示x和y的平移量。scale是缩放的比例,1是不变,2是表示缩放1/2,这样子。 下面在Android上试试 阅读全文
posted @ 2012-08-06 11:10 幻星宇 阅读(233) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示