- 博客(74)
- 资源 (3)
- 收藏
- 关注
原创 Android 控件的触摸事件传递与处理
了解Android控件的触摸事件传递与处理对我们日常开发中自定义控件和触摸事件冲突解决有重大意义。Android控件的触摸事件传递和处理主要有以下几个方法,下面一一介绍
2014-12-20 23:12:02
5178
1
原创 Android ImageView的scaleType属性与adjustViewBounds属性
android:scaleType="center" 以原图的几何中心点和ImagView的几何中心点为基准,按图片的原来size居中显示,不缩放,当图片长/宽超过View的长/宽,则截取图片的居中部分显示ImageView的size.当图片小于View 的长宽时,只显示图片的size,不剪裁。android:scaleType="centerCrop" 以原图的几何中心点
2014-11-02 21:07:10
8803
1
原创 Android自定义TabActivity(实现仿新浪微博底部菜单更新UI)
如今Android上很多应用都采用底部菜单控制更新的UI这种框架,例如新浪微博 点击底部菜单的选项可以更新界面。底部菜单可以使用TabHost来实现,不过用过TabHost的人都知道自定义TabHost究竟是有多麻烦的,原生TabHost的风格是不依附屏幕的底部的,要依附底部就要重写布局。 TabHost设置的Container可以管理UI的显示,UI可以用LayoutInflater动态生成,也可以是Activity,但不好管理Activity的生命周期。然后用TabHost控制显示UI的显示。
2014-05-06 22:53:46
3427
1
原创 Android NDK开发篇(六):Java与原生代码通信(异常处理)
一、捕获异常 异常处理是Java中的功能,在Android中使用SDK进行开发的时候经常要用到。Android原生代码在执行过程中如果遇到错误,需要检测,并抛出异常给Java层。执行原生代码出现了问题,例如使用了空指针、内存泄漏,并且没有做相应的检测盒异常抛出,APP会马上闪退,没有任何提示。
2014-04-28 22:20:03
2861
1
原创 Android分辨率自适应
Android设备有多种分辨率,到目前为止就有FWVGA,WVGA,VGA,HVGA,QVGA几种,其中 VGA是:Video Graphic Array显示标准为480 x 640 WVGA是Wide VGA,分辨率为480 x 800
2014-04-24 21:56:59
2048
原创 Android NDK开发篇(五):Java与原生代码通信(数据操作)
虽然说使用NDK可以提高Android程序的执行效率,但是调用起来还是稍微有点麻烦。NDK可以直接使用Java的原生数据类型,而引用类型,因为Java的引用类型的实现在NDK被屏蔽了,所以在NDK使用Java的引用类型则要做相应的处理。
2014-04-23 00:53:20
7170
3
原创 Android NDK开发篇(四):Java与原生代码通信(原生方法声明与定义与数据类型)
Java与原生代码通信涉及到原生方法声明与定义、数据类型、引用数据类型操作、NIO操作、访问域、异常处理、原生线程
2014-04-20 23:09:43
2485
原创 Android NDK开发篇(三):NDK开发步骤
开始学习NDK开发,首先以输出Hello World实例开始讲解。 NDK的开发步骤: 1、在Java文件中声明native方法
2014-04-15 11:08:37
2678
原创 Android NDK开发篇(二):NDK相关介绍
NDK不仅仅支持C/C++开发,还可以内联汇编(更加依赖平台),也就是说Android应用的开发支持Java + C/C++ + 汇编开发...很爽有木有!另外NDK除了JNI的接口外,还支持ASNI C和GNU C以及原生线程、OpenGL ES...学习Linux C开发的或者OpenGL ES开发的就爽了。
2014-04-14 13:41:26
2966
1
原创 Android NDK开发篇(一):新版NDK环境搭建(免Cygwin,超级快)
以前做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量... 麻烦到不想说了,Shamoo在网上查了一下资料,发现了一个超级快配置NDK的办法。 Step1:到Android官网下载Android的开发工具ADT(Android Development
2014-04-12 17:08:31
10916
8
原创 Android WebView与JS交互及消息处理
前一段时间做公司的项目,涉及到WebView与JS之间的通信,于是在网上查了点资料研究了一下下。 一、WebView与JS交互 1.JS调用本地方法 这个功能的实现还是比较容易的。直接调用WebView的该方法就可以添加接口了,不过先要启动交互// 启用javascript mWebView.getSettings().setJavaScriptEnabl
2014-04-11 17:20:47
3472
原创 Android的onLayout、layout方法讲解
onLayout方法是ViewGroup中子View的布局方法,用于放置子View的位置。放置子View很简单,只需在重写onLayout方法,然后获取子View的实例,调用子View的layout方法实现布局。在实际开发中,一般要配合onMeasure测量方法一起使用。 onLayout方法:@Overrideprotected abstract void onLayout(
2014-04-08 11:19:56
9819
原创 Android的onMeasure方法
在Android开发中,当Android原生控件不能满足我们的需求的时候,就需要自定义View。View在屏幕上绘制出来先要经过measure(计算)和layout(布局)。 什么时候调用onMeasure方法? 当子View的父控件要放置该View的时候,父控件会传递两个参数给View——widthMeasureSpec和heightMeasureSpec。这两个参数是Vie
2014-02-03 14:30:20
1521
原创 Android 旋转屏幕时禁止Activity重建
在Android开发中,如果某些事件触发(例如:旋屏事件),则Activity会重新调用onCreate方法,对Activity重新初始化,这样不仅效率低,而且会造成数据丢失,解决办法是重写onConfigurationChanged方法,并在AndroidManifest.xml中对Activity声明configChanges,这样特定事件触发就会调用onConfigurationChange
2014-01-27 22:17:21
4588
转载 Java反射机制
Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。 Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。Jav
2014-01-02 17:05:53
848
原创 谈Android四大组件之BroardcastReceiver篇
广播是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的广播进行过滤接收并响应的一类组件。你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。
2013-12-28 14:19:11
1778
原创 谈Android外包项目
这个学期接了几个Android的外包项目来做。让我深深的体会到:讨厌的并不是写代码,是客户! 常常会遇到一种情况是东西按照之前的需求来做了,就在程序员认为项目快完成的时候,客户提出有需求要修改。这时候程序员的心里有一个声音,“TMD,你又不早说!”没办法,只好改呗。如果之前的项目的框架都设计得好,方便以后扩展维护的,那么需求修改的影响也不会特别大。如果项目的框架没形成,又或者
2013-12-16 11:52:14
4623
1
原创 感谢各位的支持!
如今CSDN博客已经可以排得上号了,还是要感谢各位的支持!由于这段时间比较忙,所以发代码什么的都比较晚,希望大家见谅!以后我还是把代码上传到CSDN下载频道上吧,这样也方便大家下载Demo。 Shamoo从高三的时候注册CSDN博客到现在,看着博客冷冷清清一直到有点起色。Shamoo更有信心去写一些实用性强的博文。暑假的时候,有空就写了几篇,到后面返校接了一堆的项目,一直忙得不可开交,好几次
2013-12-05 10:44:46
1131
原创 谈Android四大组件之Service篇
Service简介 Service是Android系统中的四大组件之一,它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。Service必须在AndroidManifest.xml中声明。Service有自己的生命周期,可以使用startService()启动一个Service或使用bindService()方法绑定一个已经存在的Service。Service作用
2013-10-15 20:23:01
1376
原创 Android取消EditText自动获取焦点行为
当Activity使用了EditText或者是AutoCompleteTextView,跳转到该Activity时,EditText会自动获取焦点,显示输入法界面。这可能是你并不愿意看到的。 取消自动获取焦点行为,只要将EditText或是AutoCompleteTextView的父级控件的XML属性设置下面两句即可实现。android:focusable="true" android
2013-08-19 15:35:35
1266
原创 谈Android四大组件之Activity篇
前些天看了一个要上大四的学长写的一篇Android实习生求职经历,了解到一些关于Android的面试题,其中Android的四大组件(Activity、Service服务、Content Provider内容提供者、BroadcastReceiver广播接收器)是最容易出面试题。除了应付面试,四大组件也是Android开发者必须要掌握的。于是Shamoo在网上收集了很多资料,将有用的整理起来。
2013-08-06 01:28:27
2480
2
原创 Android的FrameLayout使用要注意的问题
帧布局FrameLayout在Android的五大布局中是最简单的布局方式,在需要布局中的控件有重叠的情况下才使用。 今天Shamoo使用FrameLayout的时候,发现布局里面的控件设置layout_margin类的属性没有效果。后来百度一下才知道FrameLayout中的控件layout_margin设置要依赖layout_gravity属性,否则layout_margin设置
2013-08-02 22:52:40
3648
原创 Android仿微信气泡聊天界面设计
微信的气泡聊天是仿iPhone自带短信而设计出来的,不过感觉还不错可以尝试一下仿着微信的气泡聊天做一个Demo,给大家分享一下!效果图如下: 气泡聊天最终要的是素材,要用到9.png文件的素材,这样气泡会随着聊天内容的多少而改变气泡的大小且不失真。为了方便,我就直接在微信里面提取出来啦。 聊天的内容是用ListView来显示的,将聊天的内容封装成一个ChatMsgEnt
2013-07-31 23:48:20
24441
198
原创 Android精美登录界面设计
在网上在到一个登录界面感觉挺不错的,给大家分享一下~先看效果图: 这个Demo除了按钮、小猫和Logo是图片素材之外,其余的UI都是通过代码实现的。 一、背景 背景蓝色渐变,是通过一个xml文件来设置的。代码如下: background_login.xml <gradient android:startColor="#FFACDAE5" a
2013-07-31 23:13:05
36841
149
原创 最近工作的一点总结
转眼间,大学已经过去二分之一。从高二开始到这个暑假大二结束,一直在沉浸在技术的海洋中,虽不能说我有学习计算机技术的天赋,但我可以肯定的是一直以来我都很努力以及我有这方面的兴趣爱好。以兴趣爱好和未来驱动着我一直努力学习。 课程方面: 大二的课程一直都很多,大二上学期由于申请免听的缘故,我有足够多的时间做项目。大二下学期的基础课较多,有点担心申请免听会导致期末复习紧张,于是就没有申
2013-07-31 22:42:54
1645
3
原创 Android自定义扁平化对话框
平时我们开发的大多数的Android、iOS的APP,它们的风格都是拟物化设计。如今Android 4.X、iOS 7、WP8采用的是扁平化设计,可以看出扁平化设计是未来UI设计的趋势。其实扁平化设计要比拟物化设计要简单一点,扁平化设计更加的简约,给人视觉上更加舒服。 Shamoo想到在Android平台上弄一个扁平化的对话框。参考过一篇帖子,然后改了一下。 这个Demo比较简
2013-07-31 21:27:52
3695
原创 Ubuntu 13.04 64系统运行32位的程序
刚装上了Ubuntu 13.04 64位的版本。然后在安装iNode上网认证的时候出问题,启动服务的时候会弹出提示No such file or directory错误。 这是因为系统是64位,而且没有安装ia32-libs库,所以执行不了32位的程序。 只要在终端上输入 sudo apt-get install ia32-libs 即可安装ia32-libs库。
2013-07-07 16:58:51
4735
转载 Android的View详解
一、结构 java.lang.Object android.view.View 已知直接子类: AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView, TextView, ViewGroup, ViewStub 已知间接子类: AbsListView
2013-07-04 15:42:26
1363
原创 Android九宫格图片(9.png)的讲解与制作
刚开始学习Android的时候,会见到res/drawable的几个文件里面有*.9.png格式命名的图片文件。起初以为这只是Android素材的一些特殊命名,其实不是。它是能实现图片素材拉伸、收缩不失真的九宫格图片文件。 详细介绍:9.png文件是Android的一种特殊的PNG图片。他在原始图片四周各添加一个宽度为1像素的线条,这4条先就决定了该图片的缩放规则和内容的显示规则。 如
2013-07-01 12:02:14
10330
翻译 编写高效的android代码
无论怎样,基于android的设备也是嵌入式设备。现代的手持设备,与其说是电话,更像一台拿在手中的电脑。但是,即使是“最快”的手持设备,其性能也达不到一台普通的台式电脑。 这就是为什么我们在书写Android应用程序的时候要格外关注效率。这些设备并没有那么快,并且受电池电量的制约。这意味着,设备没有更多的能力,我们必须把程序写的尽量有效。 本文讨论了很多能让开发者使他们的程序运行更有效
2013-06-28 18:04:41
1533
1
原创 Android的PackageManager的使用
Android系统提供了很多服务管理的类,包括ActivityManager、PowerManager(电源管理)、AudioManager(音频管理)以及PackageManager管理类。PackageManager管理应用程序包。 它可以获取应用程序各种信息。 PackageManger 类 说明: 获得已安装的应用程序信息 。可以通过getP
2013-06-27 16:13:55
1688
原创 Android仿iPhone圆角边框
如今APP的设计,都掀起了一股“圆角风”。在iPhone的应用,原生UI就已经实现了圆角边框,可惜在Android上就不是了。 不过Android还是可以仿着iPhone来编写出圆角边框的,方法有两种。下面给大家看一个简单的Demo吧。 方法一
2013-06-25 23:15:24
3342
9
原创 给Android新手的一些学习建议
Shamoo做Android开发已经有一年了,对Android开发也有一点点了解。下面就给Android新手说说我对Android浅面的认识和一点建议吧,知道的大牛看到了勿喷哈... 1.不要把Android开发看得太简单 Android开发比较容易上手,然后就会在IT界上流传一句“Android开发很简单”的话,开发过的人说简单,没有开发过的人也在说简单...其实万事想要做好都不简单
2013-06-23 22:39:16
2349
原创 Android ConditionVariable的用法
在Android开发中,如果需要线程同步,可以使用Java系统库的wait()和notify()...但是这些代码的编写比较麻烦。Android提供了一个ConditionVariable类方便线程同步操作。 ConditionVariable有三个方法,分别是block()、open()、close()。 void block() 阻塞当前线程,直到条件为open
2013-06-23 21:08:17
6809
1
原创 Android的Log讲解
在Android开发中,想要输出一些调试信息可以使用System.out.println()。可是System.out.println真的太长了,输入比较慢,而且在LogCat窗口显示稍不留意,就找不到输出信息。 我们可以使用以下5种方法输出调试信息: Log.v(String tag, String msg); //VERBOSE,哆嗦输出 Log.d(String ta
2013-06-21 17:37:27
1551
原创 Android的Activity跳转动画集合
大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面。其实Android的Activity跳转可以设置各种动画。下面给大家看看效果:------>-----> 实现非常简单,用overridePendingtransition(int inId, int outId)即可实现。inId是下一界面进入效果的xml文件的id,outId是当前界面退
2013-06-19 23:01:41
6695
1
原创 Android的Application对象讲解
Android的Application同Activity和Service一样都是Android框架的组成部分。这个Application通常在app启动的时候就会自动创建。Application在app中是一个单例模式,而且Application也是整个app生命周期最长的对象。所有的Activity和Service都是共用着一个Application,所以Application通常用来共享数据,
2013-06-18 13:06:08
3111
2
原创 Android仿QQ空间底部菜单
之前曾经在网上看到Android仿QQ空间底部菜单的Demo,发现这个Demo有很多Bug,布局用了很多神秘数字。于是研究了一下QQ空间底部菜单的实现,自己写了一个,供大家参考。效果如下图所示: 点击中间的按钮后-> 1、实现原理很简单,底部菜单是一个水平分布的LinearLayout,里面又是五个LinearLayout,它们的layout_weight都为1,意味着底部菜单的
2013-06-17 09:29:50
8605
59
Android自定义TabActivity(实现仿新浪微博底部菜单更新UI)
2014-05-06
Android仿QQ空间底部菜单
2014-04-09
Android精美登录界面设计
2014-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人