03 2014 档案

摘要:editText.addTextChangedListener(new TextWatcher(){public void afterTextChanged(Editable s) {// TODO Auto-generated method stub//s:变化后的所有字符Toast.makeText(getApplicationContext(), "变化:"+s, Toast.LENGTH_SHORT).show();}public void beforeTextChanged(CharSequence s, int start, int count,int afte 阅读全文
posted @ 2014-03-31 15:30 brave-sailor 阅读(820) 评论(0) 推荐(0) 编辑
摘要:OK. What I'm trying to achieve is a layout that does the same effect as frozen panes in Excel. That is I want a header row that scrolls horizontally with the main ListView and a left hand ListView that scrolls vertically with the main ListView. The header row and the left hand listview should re 阅读全文
posted @ 2014-03-29 15:15 brave-sailor 阅读(587) 评论(0) 推荐(0) 编辑
摘要:方法四: 添加一个EditText,作为搜索框 + Filter 其实这个不算第四个方法,因为与第二个一样,主要是实现Filter。 但是对于EditText的监听,我以前也没有写过,所以也记录一下。 实现步骤: 1.添加一个EditText,并添加监听事件 ```Java EditText search_tv = (EditText) findViewById(R.id.search_et); search_tv.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequenc 阅读全文
posted @ 2014-03-29 14:52 brave-sailor 阅读(255) 评论(0) 推荐(0) 编辑
摘要:方法三: android:fastScrollEnabled="true"这个很简单,只要把属性设置了,就可以起作用了不过这个滑块比较丑,当然网上也有自定义图片的例子。参考 : http://www.eoeandroid.com/forum.php?mod=viewthread&tid=176342其实就是利用了反射: ```Java try {123456789 Field f = AbsListView.class.getDeclaredField("mFastScroller"); f.setAccessible(true); Object 阅读全文
posted @ 2014-03-29 14:51 brave-sailor 阅读(378) 评论(0) 推荐(0) 编辑
摘要:方法二:android:textFilterEnabled="true" + Filter这个属性在android.widget.AbsListView下,要求adapter必须实现Filterable接口参考: http://justcallmebrian.com/?p=149实现步骤:1.listview布局文件中设置android:textFilterEnabled="true"或代码中listview.setTextFilterEnabled(true);2.adapter实现Filterable接口Filterable接口很简单,就只有一个方法 阅读全文
posted @ 2014-03-29 14:50 brave-sailor 阅读(1799) 评论(0) 推荐(0) 编辑
摘要:方法一: SectionIndexer接口 + 索引列表参考: http://www.apkbus.com/android-69999-1-1.html所谓section 就是一组有共性的item, 比如由相同的字母开头SectionIndexer接口主要的方法有:实现步骤:1.给listview添加section 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 阅读全文
posted @ 2014-03-29 14:48 brave-sailor 阅读(948) 评论(0) 推荐(0) 编辑
摘要:packagecom.rytong.mylist;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Random;importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Color;importandroid.graphics.Rect;importandroid.os.Bundle;importandroid.view.MotionEvent;importandroi 阅读全文
posted @ 2014-03-28 17:27 brave-sailor 阅读(1451) 评论(0) 推荐(0) 编辑
摘要:视图的left , top , right , bottom 的值是针对其父视图的相对位置, 绿色区域是针对其父视图(即黄色区域为(0, 0)点)的坐标,不应该是(115, 170 ) 而是 (55, 55) 阅读全文
posted @ 2014-03-28 16:37 brave-sailor 阅读(172) 评论(0) 推荐(0) 编辑
摘要:google 提供的API中,有个类,大家都很熟悉,GestureDetector。使用它,我们可以识别用户通常会用的手势。但是,这个类不支持多点触摸(可能 google认为没有人会在几个手指都在屏幕上的时候,使用手势吧~),不过,最近和朋友们一起做的一个App,的确用到了多点手势(主要是 onScroll和onFling两个手势),所以,我就把这个类拓展了一下,来实现让多个控件各自跟着一跟手指实现拖动和滑动的效果。 顺便说一下,大家应该都知道,在Android3.0以后,Android的触摸事件的分配机制和以前的版本是有区别的。从3.0开始,用户在不同控件上操作产生的touch消息不会相互干 阅读全文
posted @ 2014-03-26 09:50 brave-sailor 阅读(513) 评论(0) 推荐(0) 编辑
摘要:一、结构public final class ViewTreeObserver extends Object java.lang.Object android.view.ViewTreeObserver二、概述 这是一个注册监听视图树的观察者(observer),在视图树种全局事件改变时得到通知。这个全局事件不仅还包括整个树的布局,从绘画过程开始,触摸模式的改变等。ViewTreeObserver不能够被应用程序实例化,因为它是由视图提供,参照getViewTreeObserver()以查看更多信息。三、内部类 interface ViewTreeObserver.OnGl... 阅读全文
posted @ 2014-03-24 10:42 brave-sailor 阅读(254) 评论(0) 推荐(0) 编辑
摘要:android4.4对短信引入了一个全新的概念:默认短信应用。即android用户可以在系统设置里面选择一个默认的短信应用,只有这个应用才能进行手机的基本短信操作。按照google自己的解释这样做的原因是因为很多第三方的APP使用了一些隐藏的API接口,应该是反射调用把,既然是反射调用的非常规接口,因此这些接口就并不会有兼容性即CTS测试,也就不能保证稳定可靠。个人看来,目前市场上第三方短信应用太多了,而且厂商经常把通话,联系人,短信打包放在一起,因此手机上经常有多个短信应用,每个应用都能收短信发短信,有点混乱,尤其有的应用没有处理好,导致收到一条短信显示两条。囧。因此这个默认短信的操作也就是 阅读全文
posted @ 2014-03-24 10:27 brave-sailor 阅读(465) 评论(0) 推荐(0) 编辑
摘要:首先我们看下面视图: 这种效果大家都不陌生,网上好多都说是仿人人网的,估计人家牛逼出来的早吧,我也参考了一一些例子,实现起来有三种方法,我下面简单介绍下:方法一:其实就是对GestureDetector手势的应用及布局文件的设计.布局文件main.xml 采用RelativeLayout布局.[java]view plaincopy layout_right:这个大布局文件,layout_left:距离左边50dp像素.(我们要移动的是layout_left).看到这个图我想大家都很清晰了吧,其实:我们就是把layout_left这个布局控件整理向左移动,至于移动多少,就要看layout_r. 阅读全文
posted @ 2014-03-24 09:10 brave-sailor 阅读(499) 评论(0) 推荐(0) 编辑
摘要:Proguard returned with error code 1. See consoleError: Unable to access jarfile ..\lib\proguard.jar一直找不到问题的解决方案,后来我把proguard(下载地址:http://sourceforge.net/projects/proguard/files/proguard/)也升级到最新版还是不行。后来我仔细看了一下报错信息,我觉的是路径的问题,我就试着将D:\android-sdk-windows\tools\proguard\bin\proguard.bat 打开内容如下:@ECHO OFFR 阅读全文
posted @ 2014-03-20 11:59 brave-sailor 阅读(599) 评论(0) 推荐(0) 编辑
摘要:我们想获取手机的运营商信息。通常都会去调用系统的TelephonyManager类的取数据。但是很多时候可能取不到卡的信息(例如双卡手机和 一些特殊卡),这样就区别不了运营商了。但是有时候我们的需求要进行不通运营商的差异化定制。这样我们可以根据网络的判断运营商。核心就是获取可用网络列表,比如你可用网络有cmwap cmnet这样你肯定就是移动的运营商了。当然这样的办法也有不行的时候,所以我们就2套一起来。把网络和获取设备卡的信息整个写成一个接口。至于双卡双 待获取sim卡信息的问题。我马上会整理一篇博客给大家。主要是根据不同的方案商来写不同的接口。核心代码如下private void getP 阅读全文
posted @ 2014-03-19 14:53 brave-sailor 阅读(1453) 评论(0) 推荐(0) 编辑
摘要:android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问"properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)android.permission.ACCESS_COARSE_LOCATION允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to ac 阅读全文
posted @ 2014-03-19 14:32 brave-sailor 阅读(603) 评论(0) 推荐(0) 编辑
摘要:不多说了,直接看代码, NB人会懂的![java] view plaincopypackagecom.example.vdisktest;importandroid.app.Activity;importandroid.content.Context;importandroid.database.Cursor;importandroid.net.ConnectivityManager;importandroid.net.NetworkInfo;importandroid.net.Uri;importandroid.os.Bundle;importandroid.telephony.Teleph 阅读全文
posted @ 2014-03-19 14:21 brave-sailor 阅读(1760) 评论(0) 推荐(0) 编辑
摘要:android手机客户端在上传文件时,有时候会一直失败,其可能的原因是APN的设置。wap下的成功率极低,所以在进行文件上传时最好设置下 apn为net形式。下面是我在网上找的一些代码,是由wap转net的,当然net转wap稍微修改下就可以。经测试是可用的,分享一下:PS:apn的切换过程需要时间,不是立即生效。[java] view plaincopyprint?packagecom.android.couples;importjava.util.ArrayList;importandroid.content.ContentResolver;importandroid.content.Co 阅读全文
posted @ 2014-03-19 14:10 brave-sailor 阅读(878) 评论(0) 推荐(0) 编辑
摘要:Android连接网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置。首先,要判断网络状态,需要有相应的权限,下面为权限代码(AndroidManifest.xml): 然后,检测网络状态是否可用[java] view plaincopyprint?/***对网络连接状态进行判断*@returntrue,可用;false,不可用*/privatebooleanisOpenNetwork(){ConnectivityManagerconnManager=(ConnectivityManager)getSystemService(C... 阅读全文
posted @ 2014-03-19 13:03 brave-sailor 阅读(501) 评论(0) 推荐(0) 编辑
摘要:这 两天,在社区里看到有小伙伴们反应,自己在Eclipse下无法创建Android模拟器的问题。起初,自己也没太在意,我一直使用的是 Genymotion模拟器。然后,问题不解决,总有那么一天会让自己碰到的。这不,今天自己在创建Android模拟器时就出现了这个问题。好了,废话不多说,我只再说一句:ADT升级问题真不少。这个其实不是大家的环境搭建有问题,而是ADT22.6版本出现了Bug。这里是Android开发小组成员的说明,有兴趣的可以点击看看。StackOverflow里牛人辈出,有问题,就会有解决办法。下面这大牛的方法给力,亲测,没的问题。现在,就让我跟随牛人的脚步,来走两步吧:启动命 阅读全文
posted @ 2014-03-18 22:48 brave-sailor 阅读(294) 评论(0) 推荐(0) 编辑
摘要:Eclipse的版本是3.5.2,配置Android的开发环境时遇到问题……按照Android官方文档一步步安装,到了安装Eclipse的ADT插件时,提示“requires 'org.eclipse.gef 0.0.0' but it could not be found”缺少GEF,Eclipse's Graphic Editing Framework。解决方法方法一:在eclipse官方网站下载并安装该插件。下面是这个插件的地址:http://download.eclipse.org/tools/gef/updates/releases/(此链接目前已经不能使用) 阅读全文
posted @ 2014-03-18 21:55 brave-sailor 阅读(462) 评论(0) 推荐(0) 编辑
摘要:file的这几个取得path的方法各有不同,下边说说详细的区别概念上的区别:(内容来自jdk,个人感觉这个描述信息,只能让明白的人明白,不明白的人看起来还是有点难度(特别试中文版,英文版稍好些)所以在概念之后我会举例说明。如果感觉看概念很累就跳过直接看例子吧。看完例子回来看概念会好些。getPathpublicStringgetPath()将此抽象路径名转换为一个路径名字符串。所得到的字符串使用默认名称分隔符来分隔名称序列中的名称。返回:此抽象路径名的字符串形式getAbsolutePathpublicStringgetAbsolutePath()返回抽象路径名的绝对路径名字符串。如果此抽象路 阅读全文
posted @ 2014-03-18 15:50 brave-sailor 阅读(215) 评论(0) 推荐(0) 编辑
摘要:Android的animation由四种类型组成XML中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果JavaCode中AlphaAnimation渐变透明度动画效果ScaleAnimation渐变尺寸伸缩动画效果TranslateAnimation画面转换位置移动动画效果RotateAnimation画面转移旋转动画效果Android动画模式Animation主要有两种动画模式:一种是tweened animation(渐变动画)XML中JavaCodealphaAlphaAnimationscaleSc. 阅读全文
posted @ 2014-03-17 23:26 brave-sailor 阅读(199) 评论(0) 推荐(0) 编辑
摘要:1.申请Google API Key,参考前面文章2.实现GPS的功能需要使用模拟器进行经纬度的模拟设置,请参考前一篇文章进行设置3.创建一个Build Target为Google APIs的项目4.修改Androidmanifest文件:view plain5.修改main.xml文件view plain注意:这里的apiKey值请相应修改为自己的key值6.代码清单:view plainpackagecom.hoo.android.LocationMap;importjava.io.IOException;importjava.util.List;importjava.util.Local 阅读全文
posted @ 2014-03-17 23:23 brave-sailor 阅读(1507) 评论(0) 推荐(0) 编辑
摘要:大家好,我们这一节讲一下,Android获取Ip的一些方法,在我们开发中,有判断手机是否联网,或者想获得当前手机的Ip地址,当然WIFI连接的和我们3G卡的Ip地址当然是不一样的.首先我尝试了如下方法:view plainWifiManagerwifiManager=(WifiManager)getSystemService(WIFI_SERVICE);WifiInfowifiInfo=wifiManager.getConnectionInfo();intipAddress=wifiInfo.getIpAddress();但是获得的居然是一个整数,我尝试了用些数学方法都没有成功!,所以这种方法 阅读全文
posted @ 2014-03-17 23:22 brave-sailor 阅读(523) 评论(0) 推荐(0) 编辑
摘要:不管是页面牵转,还是传递数据,或是调用外部程序,系统功能都要用到intent。 在做了一些intent的例子之后,整理了一下intent,希望对大家有用。 由于intent内容太多,不可能真的写全,难免会有遗落,以后我会随时更新。如果你们有疑问或新的intent内容,希望交流。★intent大全:1.从google搜索内容Intent intent = new Intent();intent.setAction(Intent.ACTION_WEB_SEARCH);intent.putExtra(SearchManager.QUERY,"searchString")start 阅读全文
posted @ 2014-03-17 23:20 brave-sailor 阅读(351) 评论(0) 推荐(0) 编辑
摘要:*#*#2846579#*#*测试模式没有测试基站的数据,比如PN,RxPower,Txpower,RSSI等一些数据.不知道有没有此方面的测试软件 华为手机 andriod系统本来就有工程模式呀,拨*#*#4636#*#*就可以出来……平时收集了一些命令,分享一下:*#*#4636#*#*显示手机信息、电池信息、电池记录、使用统计数据、WiFi 信息*#*#7780#*#*重设为原厂设定,不会删除预设程序,及 SD 卡档案。*2767*3855#重设为原厂设定,会删除 SD 卡所有档案。*#*#34971539#*#*显示相机相机韧体版本,或更新相机韧体*#*#7594#*#*当长按关机.. 阅读全文
posted @ 2014-03-17 23:18 brave-sailor 阅读(591) 评论(0) 推荐(0) 编辑
摘要:大 家看到标题就明白了,我们有的时候在电梯里,有时有的电话有信号,有时有的电话没有信号,这个是非常闹心的,要是我们能监听一下我们自己手机信号的强度就 好了。这样,当我们在等重要的人士的电话,不至于接不到这个电话,如果是这个电话你没有接到的话,可能你的一生就这么平淡的过去,如果你接到了这个电话的 话,也许你的一生就会发生改变。我们应该把机会掌握的自己的手里,这样我们才能去迎接改变自己的机会。不在多说了,我们还是看看代码吧: android.permission.CHANGE_NETWORK_STATE接下来的许可:“AndroidManifest.xml”文件应该看起来如下:Java代码:复制. 阅读全文
posted @ 2014-03-17 23:16 brave-sailor 阅读(2562) 评论(0) 推荐(0) 编辑
摘要:packagecn.LocationStation;importjava.io.BufferedReader;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.net.URL;importjava.util.Date;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.entity.Stri 阅读全文
posted @ 2014-03-17 23:15 brave-sailor 阅读(197) 评论(0) 推荐(0) 编辑
摘要:packagecom.water.activity;importjava.util.List;importandroid.app.Activity;importandroid.os.Bundle;importandroid.telephony.CellLocation;importandroid.telephony.NeighboringCellInfo;importandroid.telephony.TelephonyManager;importandroid.util.Log;publicclassMyListextendsActivity{/***androidAPI中的Telephon 阅读全文
posted @ 2014-03-17 23:13 brave-sailor 阅读(738) 评论(0) 推荐(0) 编辑
摘要:TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。TelephonyManager类的对象可以通过Context.getSystemService(Context.TELEPHONY_SERVICE)方法来获得,需要注意的是有些通讯信息的获取对应用程序的权限有一定的限制,在开发的时候需要为其添加相应的权限。在文件AndroidManifest.xml中添加权限其他方法具体使用方法请查看API 文档TelephonyManager中方法说 阅读全文
posted @ 2014-03-17 22:50 brave-sailor 阅读(893) 评论(0) 推荐(0) 编辑
摘要:代码如下:packagecom.pei.activity;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.TextView;/***classname:AndroidUtilActivity*classdescription:showgetsimcardinfoactivity*PS:注意权限*Date:2012-3- 阅读全文
posted @ 2014-03-17 22:40 brave-sailor 阅读(507) 评论(0) 推荐(0) 编辑
摘要:什么是application/x-www-form-urlencoded字符串?答:它是一种编码类型。当URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www-form-urlencoded字符串。 表单里提交时也是如此,当包含非西欧字符的字符串时,系统也会将这些字符转换成application/x-www-form-urlencoded字符串。 然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。这个时候我们就要使用另一种编码类型“multipart/form-data”,比如在我们在做上传的时候,表单的enc 阅读全文
posted @ 2014-03-17 00:18 brave-sailor 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。查看最新在线文档:publicfinalclassScannerextendsObjectimplementsIterator,Closeable可见,Scanner是没有子类的。在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考:构造方法:publicScanner(Filesource)throwsFileNotFoundExceptionpublicScanner(Stringsource)publicScanner(InputStreamso 阅读全文
posted @ 2014-03-16 23:41 brave-sailor 阅读(1302) 评论(0) 推荐(0) 编辑
摘要:【目录】一、【基础知识——扫盲】二、【DOM、SAX、JDOM、DOM4j简单使用介绍】三、【性能测试】四、【对比】五、【小插曲XPath】六、【补充】关键字:Java解析xml、解析xml四种方法、DOM、SAX、JDOM、DOM4j、XPath【引言】目前在Java中用于解析XML的技术很多,主流的有DOM、SAX、JDOM、DOM4j,下文主要介绍这4种解析XML文档技术的使用、优缺点及性能测试。一、【基础知识——扫盲】sax、dom是两种对xml文档进行解析的方法(没有具体实现,只是接口),所以只有它们是无法解析xml文档的;jaxp只是api,它进一步封装了sax、dom两种接口,并 阅读全文
posted @ 2014-03-14 00:23 brave-sailor 阅读(439) 评论(0) 推荐(0) 编辑
摘要:GridView拖动效果实现1. 重新GridView控件package com.whbs.drag.widget;import com.whbs.drag.DragGridActivity.DragGridAdapter;import android.content.Context;import android.graphics.Bitmap;import android.graphics.PixelFormat;import android.util.AttributeSet;import android.util.Log;import android.view.Gravity;impor 阅读全文
posted @ 2014-03-10 13:58 brave-sailor 阅读(748) 评论(0) 推荐(0) 编辑
摘要:在使用GridView 网格布局时,默认情况下 GridView 是没有网格线的,但是有些时候我们需要让GridView显示分割线,怎么办呢?查了不少资料,找到了一种为GridView添加网格线的方法。实际上,该网格线是通过设置GridView各子项的间隔,并分别设置GridView背景色与子项背景... 阅读全文
posted @ 2014-03-10 13:55 brave-sailor 阅读(2189) 评论(0) 推荐(0) 编辑
摘要:采用TabHost布局时,往往会发现默认的系统风格与软件风格很不协调,比如TabWidget的下划线影响布局效果。通常情况下会去除其下划线。如果是采用xml布局文件,在TabWidget的属性项设置android:tabStripEnabled=”false”(经测试发现,这个属性是在2.2版本以上... 阅读全文
posted @ 2014-03-08 21:21 brave-sailor 阅读(1120) 评论(0) 推荐(0) 编辑
摘要:一、申请你的AppIDhttp://open.weixin.qq.com/ 友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID二、官网下载libammsdk.jar包http://open.weixin.qq.com/download/?lang=zh_CN三、将libammsdk.jar复制到工程的libs目录四、在需要分享的Activity编写代码[java] view plaincopyprivateIWXAPIwxApi;//实例化wxApi=WXAPIFactory.createWXAPI(this,Constants.WX_APP_ID);wxApi.reg 阅读全文
posted @ 2014-03-07 10:09 brave-sailor 阅读(464) 评论(0) 推荐(0) 编辑
摘要:Android中,View的Listener方法,在是否使用匿名类匿名对象时,有各种不同的写法。OnClickListener和其他Listener方法一样,都是View类的接口,重载实现后就能使用,其接口定义如下:[java] view plaincopyprint?publicinterfaceOnClickListener{/***Calledwhenaviewhasbeenclicked.**@paramvTheviewthatwasclicked.*/voidonClick(Viewv);}Android源码路径:framework/core/java/android/view/Vi 阅读全文
posted @ 2014-03-07 10:08 brave-sailor 阅读(185) 评论(0) 推荐(0) 编辑
摘要:自定义控件,较常用View、ViewGroup、Scroller三个类,其继承关系如下:本示例自定义控件,实现一个Gallery效果,并添加了一个显示View个数和位置的bar条,效果图:自定义控件,包含通过继承实现的自定义控件和自定义控件属性两部分,即控件和属性1、自定义属性自定义属性,分为定义属性、解析属性、设置属性三部分,具体步骤:首先,在res/valus/attrs.xml属性资源文件中,定义控件属性[html] view plaincopyprint?然后,在自定义控件的代码中,解析自定义的属性,如在PagerBar.java:[java] view plaincopyprint? 阅读全文
posted @ 2014-03-07 10:05 brave-sailor 阅读(409) 评论(0) 推荐(0) 编辑
摘要:By 何明桂(http://blog.csdn.net/hmg25)转载请注明出处 之前由于种种琐事,暂停了这个翻页效果的实现,终于在这周末完成了大部分功能,但是这里只是给出了一个基本的雏形,没有添加翻页的动画效果,由于下个周 末开始,需要转向去研究framework层(短暂的酱油期就这样结束啦 o(︶︿︶)o唉),将会暂停翻页的开发,所以想要进一步提高功能的童鞋需要自己动手~~~稍后发布的将是本人提供的完结篇代码。 今天一个热心的csdn好友--xiaofanqingzjj告诉我:“这两天把你的代码整了一下,实现了 根据滑动速度或位置翻页自动彈回,或者自动翻转到下一页的动画,等整好了,再.. 阅读全文
posted @ 2014-03-07 10:04 brave-sailor 阅读(1626) 评论(0) 推荐(0) 编辑
摘要:自从之前发布了《Android 实现书籍翻页效果----完结篇 》之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚。所以不少人对其中的地方有不少不明白之处,也有不少人 对其中出现的Bug进行了反馈。今天终于找出了段时间对这段时间的一些问题做个简单的总结。 之前给出的例子只是能使书籍进行简单的拖拽,没有实现翻页的动画效果,很多人希望我能加上这一个,所以首先我们就来说说这个翻页的动画。 其实翻页的动画很容易实现,只要在Touch抬起后不断的刷新mTouch.x,mTouch.y的值就行了,你可以使用handler,thread,也可以使用Scroller. 阅读全文
posted @ 2014-03-07 10:03 brave-sailor 阅读(819) 评论(0) 推荐(0) 编辑
摘要:By 何明桂(http://blog.csdn.net/hmg25)转载请注明出处 之前看到像ipad上的ibook的模拟书籍翻页的特效感觉很炫,在android上也有像laputa和ireader等应用实现有这个特效,在网上搜索了一下好像也没有现成的例子,所以自己动手实现了一个,现在将实现的过程记录下来。 By 何明桂(http://blog.csdn.net/hmg25)转载请注明出处实现真实的翻页效果,为了能在翻页的过程中看到下一页的内容,在翻页之前必须准备两张页面,一张是当前页,另一张是下一页。翻页的过程就是对这两张页面的剪切,组合过程。用户看到的可以分为3部分:当前页的可见部分(下图 阅读全文
posted @ 2014-03-07 10:02 brave-sailor 阅读(603) 评论(0) 推荐(0) 编辑
摘要:上篇介绍了使用Animation实现3D动画旋转翻页效果,现在介绍图片倒影实现,先看效果图本示例主要通过自定义Gallery和ImageAdapter(继承自BaseAdapter)实现1、倒影绘制ImageAdapter继承自BaseAdapter,详细实现可见Android 滑动效果入门篇(二)—— Gallery这里重点介绍倒影原理及实现倒影原理:倒影效果是主要由原图+间距+倒影三部分组成,高度大约为原图的3/2(原图为1、倒影为1/2)原图,就是我们看到了最开始的图片间距,是原图与倒影之间的间隙,如:reflectionGap = 4;倒影,是原图下半部分1/2高度,通过矩阵变换mat 阅读全文
posted @ 2014-03-07 09:58 brave-sailor 阅读(338) 评论(0) 推荐(0) 编辑
摘要:前面介绍了利用Android自带的控件,进行滑动翻页制作效果,现在我们通过代码实现一些滑动翻页的动画效果。Animation实现动画有两个方式:帧动画(frame-by-frame animation)和补间动画(tweened animation)本示例通过继承Animation自定义Rotate3D,实现3D翻页效果。效果图如下:1、Rotate3D(Animation)首先,自定义Animation的3D动画类Rotate3D[java] view plaincopyprint?publicclassRotate3DextendsAnimation{privatefloatfromDeg 阅读全文
posted @ 2014-03-07 09:56 brave-sailor 阅读(469) 评论(0) 推荐(0) 编辑
摘要:Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现Gallery浏览图片效果。本示例通过GridView和Gallery两个控件,模仿实现一个完整的仿Gallery图像集的图片浏览效果。效果图如下:1、GridView首先,自定义一个GridImageAdapter图片适配器,用于填充GridView控件的图片[java] view plaincopyprint?publicclassGridImageAdapterextendsBaseAdapter{privateContextmContext;Dr 阅读全文
posted @ 2014-03-07 09:55 brave-sailor 阅读(226) 评论(0) 推荐(0) 编辑
摘要:Android系统自带一个Gallery浏览图片的应用,通过手指拖动时能够非常流畅的显示图片,用户交互和体验都很好。本示例就是通过Gallery和自定义的View,模仿实现一个仿Gallery图像集的图片浏览效果。效果图如下:1、基本原理在 Activity 中实现OnGestureListener 的接口onFling() 手势事件,通过自定义的 View绘制draw() 图片2、ActivityActivity中,通过onTouchEvent() 注册myGesture.onTouchEvent(event)[java] view plaincopyprint?@Overridepubli 阅读全文
posted @ 2014-03-07 09:54 brave-sailor 阅读(334) 评论(0) 推荐(0) 编辑
摘要:Gallery 是Android官方提供的一个View容器类,继承于AbsSpinner类,用于实现页面滑动效果。从上面的继承关系可以看出,AbsSpinner类继承自AdapterView,因此我们可以自定义实现Adapter,来填充Gallery容器的数据。本示例通过自己实现一个Adapter,来填充Gallery容器的图片数据,首先看效果:Activity[java] view plaincopyprint?importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.wi 阅读全文
posted @ 2014-03-07 09:53 brave-sailor 阅读(296) 评论(0) 推荐(0) 编辑
摘要:ViewFilpper是Android官方提供的一个View容器类,继承于ViewAnimator类,用于实现页面切换,也可以设定时间间隔,让它自动播放。又ViewAnimator继承至于FrameLayout的,所以ViewFilpper的Layout里面可以放置多个View,继承关系如下:本示例通过ViewFlipper和GestureDetector.OnGestureListener实现自动播放和手势滑屏事件,先看效果:Activity[java] view plaincopyprint?importandroid.app.Activity;importandroid.os.Bundl 阅读全文
posted @ 2014-03-07 09:52 brave-sailor 阅读(284) 评论(0) 推荐(0) 编辑
摘要:ViewGroup的官方解析是: A ViewGroup is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers. 其类定义如下:public abstract class ViewGroup extends View implements ViewParent, ViewManager首先是View的子类,并且实现两个接口,这两个接口中分别包含着极为重要的方法,可以说代表着ViewGr. 阅读全文
posted @ 2014-03-05 01:24 brave-sailor 阅读(721) 评论(0) 推荐(0) 编辑
摘要:这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api。而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。那如何使用它呢,与LisstView类似,我们也需要一个适配器,他就是PagerAdapter。看一下api的图片,ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样。分三个步骤来使用它:1.在住布局文件里加入[html]view plaincopy2.加载要显示的页卡,[java]view plaincopyLayoutInflaterlf=getLayoutInflate 阅读全文
posted @ 2014-03-05 01:08 brave-sailor 阅读(226) 评论(0) 推荐(0) 编辑
摘要:SlidingMenu是一个开源项目, https://github.com/jfeinstein10/SlidingMenu 。功能是创建侧边滑动菜单栏,效果类似人人Android客户端,可点击按钮或是在屏幕上划动来展开,收缩侧边的菜单。下面是Demo效果图: 简单介绍一下:整个demo由三个Fragment,一个Activity组成,菜单一个Fragment,包含两个按钮,在内容区域切换显示FragmentA和FragmentB. 项目用了AndroidAnnotations框架。 MainActivity: 1234567891011121314151617... 阅读全文
posted @ 2014-03-05 01:05 brave-sailor 阅读(846) 评论(0) 推荐(0) 编辑
摘要:/**@(#)ArrayList.java1.5606/04/21**Copyright2006SunMicrosystems,Inc.Allrightsreserved.*SUNPROPRIETARY/CONFIDENTIAL.Useissubjecttolicenseterms.*/packagejava.util;/***Resizable-arrayimplementationoftheListinterface.Implements*alloptionallistoperations,andpermitsallelements,including*null.Inadditiontoi 阅读全文
posted @ 2014-03-05 00:58 brave-sailor 阅读(336) 评论(0) 推荐(0) 编辑
摘要:原先在java编程中,Queue的实现都是用LinkedListQueuequeue=newLinkedList(); 但正如jdk中所说的那样:注意,此实现不是同步的。如果多个线程同时访问一个链接列表,而其中至少一个线程从结构上修改了该列表,则它必须 保持外部同步。(结构修改指添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这一般通过对自然封装该列表的对象进行同步操作来完成LinkeList显示源码:http://blog.csdn.net/lengyuhong/archive/2010/10/27/5969325.aspx所以为方便起见,可以直接写一个线程安全的Linke 阅读全文
posted @ 2014-03-05 00:53 brave-sailor 阅读(5986) 评论(0) 推荐(0) 编辑
摘要:/**@(#)LinkedList.java1.6706/04/21**Copyright2006SunMicrosystems,Inc.Allrightsreserved.*SUNPROPRIETARY/CONFIDENTIAL.Useissubjecttolicenseterms.*/packagejava.util;/***LinkedlistimplementationoftheListinterface.Implementsall*optionallistoperations,andpermitsallelements(including*null).Inadditiontoimpl 阅读全文
posted @ 2014-03-05 00:13 brave-sailor 阅读(328) 评论(0) 推荐(0) 编辑
摘要:主要是写一个 color selector在res/建一个文件夹取名colorres/color/color_radiobutton.xml[html] view plaincopy程序中就可以直接使用了[html] view plaincopy//layout/main.xml 阅读全文
posted @ 2014-03-04 17:06 brave-sailor 阅读(1355) 评论(0) 推荐(0) 编辑
摘要:关键的句子是:android:button="@null" 删除原本系统默认在左的选择框android:background="@android:color/transparent" 去除左边选择框被删除后的空白android:drawableRight="@android:drawable/btn_radio" 选择框绘制在右 阅读全文
posted @ 2014-03-04 15:13 brave-sailor 阅读(3913) 评论(0) 推荐(0) 编辑

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