- 浏览: 18181 次
最新评论
文章列表
说到侧滑菜单,记得在很久很久以前,一说到侧滑菜单就会立刻想到SlidingMenu,在当时的印象里比较火的侧滑菜单就是SlidingMenu,最开始觉得那种效果还蛮新颖的,后来Google官方出了SlidingPaneLayout和DrawerLayout后,大部分的侧滑菜单效果也就基本被满足了。本博文主要讲到基于官方v4扩展包中的SlidingPaneLayout来扩展侧滑效果,我给SldingPaneLayout的扩展控件取了个好听的名字叫:SuperSlidingPaneLayout。
说到侧滑效果扩展,这里主要用到了平移、缩放、等效果组合来达到想要的效果。
首 ...
- 2016-10-08 17:06
- 浏览 734
- 评论(0)
1.CodeMetric:
CodeMetric启动后(如下图)
1.1.代码统计项:
代码统计主要包括:注释行、空白行、代码行、总行数(不包括空白行)、总行数(包括空白行)、注释率、空白率、字符数。(也就是下图里面的度量项)
1.2.基本操作:
1、通过点击按钮添加目录/文件添加需要统计的目录/文件。
2、选择好代码语言类型,代码文件后缀输入框里面的内容,会自动变成选择的代码语言类型默认文件的后缀,也可以自定义添加代码文件后缀。
3、勾选想要统计的度量项。
4、点击度量按钮便可以进行统计。
1.3.统计输出格式:
统计输出格式主要分为两种:简单输出格式 ...
- 2016-09-26 16:52
- 浏览 807
- 评论(0)
一、 Git 常用命令速查
git branch 查看本地所有分支
git status 查看当前状态
git commit 提交
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git commit -am "init" 提交并且加注释
git remote add origin git@192.168.1.100:ndshow
git push origin master 将文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git push ori ...
- 2016-08-25 15:52
- 浏览 226
- 评论(0)
本篇博文是在之前的基础之上进行了封装与抽象的。主要是思想是通过封装一个通用ViewHolder,来解耦和提高通用性。
如果你没看过我之前写的Adapter的封装与抽象,建议先看下,这样对看本片博文思路有帮助。下面有相关博文的链接。
首先是通用的ViewHolder,通过Adapter 每一个Item的convertView来实例化一个ViewHolder,然后根据控件的id得到相对应的控件,ViewHolder里面包括常用的一些控件常用的属性设置。
ViewHolder代码如下:
import android.content.res.ColorStateList;
import ...
- 2016-08-25 14:18
- 浏览 591
- 评论(0)
目前已有的移动中间件开发技术主要包括:IOS、Android或WindowsPhone的纯原生开发;以Html5技术为核心的中间件开发(例如PhoneGap,HBuilder,AppCan,ApiCloud)、以OpenGL技术为核心的中间件开发(例如:CrossApp)、以代码转换和原生反射技术为核心的中间件开发(例如:Titanium,Xamarin,ReactNative),以及以虚拟UI、抽象SDK、动态组件为核心的中间件开发(例如DeviceOne)。
共同点:
1.跨平台,都支持目前的三大主流系统:Android,iOS,WindowsPhone
2.都是以提取Eclip ...
- 2016-07-14 09:50
- 浏览 481
- 评论(0)
现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。
1.GsonFormat
快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。
- 2016-06-30 15:59
- 浏览 395
- 评论(0)
记得之前有写过一篇Adapter的封装与抽象,是关于ViewPager、ListView、GridView、Spinner的Adapter,
这里新增一个RecyclerView的Adapter。
其实RecyclerView.Adapter已经写的很好了,在这里再进行一下封装与抽象,来简化代码的耦合性。
与之前Adapter的封装大致风格一致,代码如下:
/**
* @author Jenly
* @param <T,H> T:实体对象,H:ViewHolder
*/
public abstract class HolderRecyclerAdapter<T ...
- 2016-06-08 09:35
- 浏览 409
- 评论(0)
从总体设计和原理上对几个图片缓存进行对比,没用到他们的朋友也可以了解他们在某些特性上的实现。
上篇关于选择开源项目的好处及如何选择开源项目可见:开源项目使用及选型。
- 2016-06-02 17:27
- 浏览 273
- 评论(0)
闲来没事,突然想起了,最初学Android时,老师教过最简单矩形碰撞和精灵切割这些简单的算法,当时还说Android主要分两个方向,一个是做应用,一个是做游戏,现在想来,那夕阳下的奔跑,那是我逝去的青春…
虽然现在主要是做Android应用开发,但是闲着没事,也就突然想着,把这简单的平面物体碰撞检测算法试着分析分析,并整理写了下。
代码如下:
/**
* @author Jenly
* @date 2016-6-2
*/
public class CollsionUtils {
/**
* 点与矩形碰撞
* @param x1
* 点的x坐标
* @ ...
- 2016-06-02 14:30
- 浏览 500
- 评论(0)
直接上码,只为记录:
/**
*
* @author Jenly
*
*/
public class DisplayUtils {
/**
* dip转px
* @param context
* @param dipValue
* @return
*/
public static int dip2px(Context context, float dipValue){
final float scale = getDisplayMetrics(context).density;
retur ...
- 2016-06-02 10:37
- 浏览 311
- 评论(0)
有的时候我们需要通过资源名称获取资源Id,这个其实比较简单,只是做了个简单的封装,记录一下。
/**
* 资源文件工具类
* @author Jenly
*/
public class ResourcesUtils {
private static final String RES_ID = "id";
private static final String RES_STRING = "string";
private static final String RES_DRABLE = "drable";
priva ...
- 2016-06-02 10:15
- 浏览 258
- 评论(0)
今天要说的主题是来电秀实现里面的电话接听与挂机,在这里我们需要用到ITelephony.aidl相关的一些文件,
如下图:
将如上文件导入到工程,去掉一些不需要的aidl关联,其中PhoneUtils是自己创建的,里面主要写的是调用接听和挂机函数。
public static com.android.internal.telephony.ITelephony getITelephony() throws Exception {
Class clazz = Class.forName("android.os.ServiceManager"); ...
- 2016-03-11 16:53
- 浏览 251
- 评论(0)
简单的说下实现来电秀的大概原理流程:首先通过监听来电状态,通过拦截来电然后在窗口弹出一层系统级别的弹窗,这层弹窗即是来电秀。
先来两张效果图:
下面来说下实现,因为商用的原因,不能直接贴代码,所以在这里,会贴一些比较核心的代码,大概分为五个步骤:
第一:监听来电状态
/**
* 电话状态监听(来电或去电)
*
* @author Jenly
*
*/
public class PhoneStateReceiver extends BroadcastReceiver {
public static final String PHONE_STATE = & ...
- 2016-03-10 19:07
- 浏览 740
- 评论(0)
1.Shape
简介
作用:XML中定义的几何形状
位置:res/drawable/文件的名称.xml
使用的方法:
Java代码中:R.drawable.fileName
XML中:android:background="@drawable/fileName"
或:android:src="@drawable/fileName"
属性
<shape>android:shape=["rectangle"|"oval"|"line"|"ring&q ...
- 2015-12-15 19:22
- 浏览 617
- 评论(0)
一个好的产品,一定会注重每个细节,追求极致体验。而作为一个互联网移动开发者,在开发产品时也应尽量做到如此。
此处省略一万字…
我去,扯远了,请不要在意这些细节。
回到正题,开发久了,总会有各种“偷懒”的想法,在同样的代码写了无数遍后,你会习惯封装。
如:在父类BaseActivity或BaseFragment里面写一些经常用到的Toast,Dialog,Popupwindow这些提示类的控件,做一个封装,供子类方便调用,这里只是抛了一块砖,后续有时间,会慢慢整理一部份发出来。
示例:在父类写个通用的Toast
private Context context = thi ...
- 2015-12-15 18:03
- 浏览 365
- 评论(0)