- 博客(111)
- 资源 (3)
- 收藏
- 关注
原创 android插件化研究
github地址:里面也有个小的面向对象的sqlite框架https://github.com/Xiemarc/SQLiteDemo首先看效果图: 这里我使用的是dexClassLoader,没有用Hook技术.module入下面图所以:app、pluginapk、pluginapk2都是module类型都是phone类型,其实就是app类型。plugincore是lib类型在这里我把2个apk都放
2017-07-13 10:55:55 592 1
原创 源码分析android的UI绘制流程
android的UI绘制流程setContentView(R.layout.activity_main);入手了解UI的绘制起始过程activity.javapublic void setContentView(@LayoutRes int layoutResID) { getWindow().setContentView(layoutResID);//一 initW
2017-07-11 15:40:10 567
原创 MIUI拖动效果
先看效果图在可以滚动的视图中,内容滚动到顶部时继续下拉,整个视图就有一个竖直方向拉伸的视差效果。滚动到底部继续上拉,也有同样的效果。滚动视图可能是ScrollView、RecyclerView,要实现这样的效果,需要自定义并拦截Touch事件,重新处理事件逻辑。recycleview自定义recycleview,复写onInterceptTouchEvent方法:@Overridepublic b
2017-07-07 10:23:45 689
原创 6.0权限回顾
自android 6.0后权限需要动态的去检测,如果6.0不对权限做处理,那么会出现一些意想不到的问题,例如拿不到联系人,拿不到sd卡信息。Android6.0之后的权限差别对于6.0以下的权限及在安装的时候,根据权限声明产生一个权限列表,用户只有在同意之后才能完成app的安装。而在6.0以后,我们可以直接安装,当app需要权限是会给予用户提示用户可以选择同意和拒绝。新的权限机制更好的保护了用户的隐
2017-06-28 22:02:40 371
原创 materialDesign过度动画
怎么样,很炫吧github地址定义个接口public interface LoadState { void drawState(Canvas canvas);}自定义view实现加载动画/** * Created by marc on 2017/6/28. */public class LoadView extends View { /** * 大圆的半径(里面含有好
2017-06-28 15:16:03 422
原创 PathMeausre+示例学习
android深入学习-PathMeasurecsdn博客地址github个人地址仓库地址顾名思义,PathMeasure是一个用来测量Path的类,主要有以下方法:构造方法 方法名 释义 PathMeasure() 创建一个空的PathMeasure PathMeasure(Path path, boolean forceClosed) 创建 PathMeasure 并关联一
2017-06-22 17:05:48 351
原创 仿地图弹窗
首先看效果图 当然了这个高度和宽度是可控的。想详细修改的话去代码里面修改吧.使用方法 BouncingMenu.makeMenu(findViewById(R.id.rl), R.layout.layout_rv_sweet, adapter).show(); 是的,你没看错,就是这么简单。 只需要传入view,布局id,以及adapter(这里使用的是recycleview.A
2017-02-22 22:13:57 760 1
原创 波浪图
前几天撸了个贝塞尔曲线,最近看到波浪图很敢兴趣,想着也是贝塞尔曲线。真实做的时候使用的不是贝塞尔但是也是数学公式。其实贝塞尔曲线一样能做出来。 注意看那个浅红色部分。特意使用颜色不一样的WaveView,主要靠做bitmap然后通过正弦直接看代码public class WaveView extends View { //*************属性开始**************//
2017-02-10 23:52:31 6911
原创 事件分发
android中的事件分发、焦点问题。 啥都不管,这里先安利一个非常好用的方法。简直是解决事件冲突的利器啊。 getParent()(父亲).request(请求)Disallow(不)Intercept(拦截)TouchEvent(touch事件)(true(同意)); getParent().requestDisallowInterceptTouchEvent(true);我是在自
2017-02-09 16:39:46 416
原创 贝塞尔曲线实践-动画框架
前言动画有多么重要,相信大家都清楚。它可以让一个枯燥乏味的静态界面变成一个充满动力的动画世界,提高用户体验。反正现在都是用户体验至上。android也是前端。苦逼的大前端。想想之前刚毕业的时候搞javaWeb,那个时候感觉前端好low。。现在不这么认为了。废话不多少。直接上效果图 主要就是中间那部分的动画效果。理解Android中动画实现的本质在理解Android中动画实现的本质之前,首先要理
2017-02-08 21:35:04 1747
原创 热更新
热更新技术 我这里使用没有使用阿里巴巴的黑科技,腾讯的之类的。首先看效果图出现错误界面正常界面 弹出toast。详细看demo中的代码首先是Test类。很简单。就是个测试,故意出错报个错误public class Test { public static void show(Context context) { int i = 10; //这里过一会
2017-02-07 16:47:59 638 1
原创 react-native在Anroid真机运行时可能会遇到白屏的情况解决办法
飞机票:http://blog.csdn.net/itpinpai/article/details/50845625
2017-01-28 20:47:08 659
原创 react-native在Anroid真机运行时可能会遇到白屏的情况解决办法
飞机票:http://blog.csdn.net/itpinpai/article/details/50845625
2017-01-28 20:40:56 498
原创 1.16防止双击onclick
在开发中经常遇到点击事件处理,有时候连续点击多次响应,体验很不好。比如现在的微信朋友圈。其实现在处理很简单,如果项目中使用了Rxjava那就直接再依赖个RxBinding库。不想的话就自己写个类实现下就OK 。 /** * des: * author: */ public abstract class NoDoubleClickListe
2017-01-16 09:26:19 818
原创 关于单例模式
单例模式简单的单例模式public class Student{ private static Student mStudent=new Student();private Student(){}public static Student getStudent(){ return mStudent;} } 这种写法最好不要。进阶写法public class Stud
2017-01-14 13:46:18 403
原创 自定义观察者模式实现对状态的监听
这里我主要分为4个步骤定义被观察者Observabler接口public interface MainTvClick { void onChangeListener(String string);}创建观察者集合//观察者集合List<MainTvClick> mainTvClickList = new LinkedList<>();添加观察者 /** * 添加观察者 *
2016-11-24 23:06:57 453
原创 解决不显示menu图标问题
今天突然发现的一个问题,竟然不显示menu的icon图标了如下图最后在csdn上面找到了解决办法。http://blog.csdn.net/heisejiuhuche/article/details/46653999 @Override public boolean onCreateOptionsMenu(Menu menu) {// setIconsVisible(men
2016-11-24 12:00:45 3965
转载 Android布局优化
重用include< include>标签可以在一个布局中引入另外一个布局,这个的好处显而易见。类似于我们经常用到的工具类,随用随调。便于统一修改使用。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android
2016-11-08 21:07:48 630
原创 自定义圆形dialog
自定义弹出圆角框不多说,直接上效果图 关键代码:在自己的style中定义一个style<!--弹出时间选择的dialog背景--><style name="mydialog" parent="android:style/Theme.Dialog"> <!-- 背景透明 --> <item name="android:windowBackground">@android:colo
2016-11-08 08:52:32 793
原创 内存泄露
内存泄露原因整理一、Java内存回收机制不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有
2016-10-27 20:16:27 372
原创 Live Template快速撸代码
好久没更新了,项目进度略紧。Live Template快速撸代码 快速,高效,准确的将常用或自定义构造代码插入到你的源代码文件中通俗的讲,就是只需要输入几个简写的英文字母就可以快速自动插入一行或多行代码。Live Template 语法可以为每个Template指定名字和语句(废话),并且指定适用的文件类型和语句块(修改底部的Applicable in … 即可) 在语句中使用......
2016-09-07 16:52:32 5198 2
原创 recycleview建立不同的item
众所周知,现在recycleview也已经退出好久了。各种封装库也出现好多了。这里推荐下hongyang大神的。 http://blog.csdn.net/lmj623565791/article/details/51854533这里是自己实现的一个小demo看效果图: 使用过listview的都知道,就是根据不同的viewtype 加载不同的xml布局。接下来实现。 //这里
2016-08-08 10:16:40 524
原创 drawable动画以及ConterView
照例:效果图具体实现布局 <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_heig
2016-08-05 16:00:10 480
原创 圆形imageview以及Blur
首先效果图 圆形图片代码部分:/** * 描述:圆形头像 * 作者:Marc on 2016/8/4 13:20 * 邮箱:aliali_ha@yeah.net */public class RoundImageView extends ImageView { private static final ScaleType SCALE_TYPE = ScaleType.CENTER_C
2016-08-04 15:21:46 674
原创 Fragment取消预加载
public abstract class BaseFragment extends Fragment {protected boolean isViewInitiated;protected boolean isVisiableToUser;protected boolean isDataInitiated;@Overridepublic void onCreate(@Nullable B
2016-08-04 10:05:51 355
原创 排序
java中对集合排序的方法提供了2种方式。这里使用的集合 final List<TestNumModel> list = new ArrayList<>();使用的时候传入比较器private class Sort implements Comparator<TestNumModel> { public Sort() { } public int compare(Te
2016-08-01 20:12:50 254
原创 php生成随机验证码
php生成随机验证码 效果图核心代码:<?php/**简单的验证码 * Created by PhpStorm. * User: lenovo * Date: 2016/8/1 * Time: 11:58 */header("Content-Type: image/png");for ($i=0;$i<4;$i++) { $nmsg .= dechex(mt_rand(0,1
2016-08-01 20:12:04 960 1
原创 一张图片做选择器
直接上图 这里使用了selected的新的定义方式<ImageButton android:button="@null" android:id="@+id/btn_click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background
2016-07-30 00:01:57 474
原创 phpStorm配置服务器以及调试
这里使用的是WAMP 集成环境大多数第一次使用PhpStorm的都会出现在phpstorm写完代码,一点旁边浏览器看效果的时候,浏览器提示 502 Bad Gateway。。。phpstorm也提示configure PHP Interpreter的提示。解决就是 这里解决了这个问题。接下来解决调试的问题。在php.ini的最后面改成onxdebug.remote_enable = on直接
2016-07-30 00:01:21 15945
原创 接口和自定义观察者模式
接口回调、自定义观察者模式和EvnetBus众所周知,android中经常要用到activity、fragment中互相传递参数。或者framgent中的数据改变,另外的fragment或者activity中需要跟着改变。这个时候 通常都会用接口的方式实现。接口回调定义一个接口public interface OnShakeListener { void onShakeClistenerC
2016-07-27 19:50:15 769
原创 TextView相关
对于textView,大家肯定熟悉的不能再熟悉了。TextView设置基础通常给textView设置TextView的时候,会把string设置在xml中当做资源使用。例如下面的<string name="hello">XXX,起床吃饭啦</string>在程序中使用这个的话,就是XXX,起床吃饭啦。 但是有另外的需求,想要随时替换掉XXX,例如,张三,李四 这个时候可以使用占位符(我通常这么
2016-07-27 19:50:02 676
原创 AndroidStudio调试技巧
android调试技巧平常开发需要调试的时候都是打个断点,然后debugRun()。然后一步步的下一步啦什么的。。。 其实还是有很方便的调试技巧的。条件断点(Conditional Breakpoints)这个调试模式是我最喜欢的,简直不能再方便了,以前遇到在循环里面打断点,需要看某个条件下的值,我只能一遍遍点击,直到满足条件。那么这个条件断点改怎么用呢,在你的断点上点击右键,就会弹出一个选择对
2016-07-27 19:49:42 369
原创 加载3种状态架构
基类LoadintPager(加载三种状态)通常都知道,android中一个页面的加载,无非三种状态:加载中加载成功 加载失败 当然,如果从网络获取数据,可能会出现数据为空的情况。这里也要考虑进去 具体看下截图失败加载成功,这里界面随意弄的textview空加载中这里可以抽下共有的方法。/** * 描述:LoadingPager 不会在xml中使用,所以只实现context参数的构造
2016-07-25 13:49:18 1666 1
原创 viewPager+radiogroup实现关联
实现viewpager跟radioGroup关联先看效果图 代码撸出来 布局xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"
2016-07-25 13:48:38 3926
原创 shape打造圆形按钮
Android Button Maker是一个可以在线生成按钮代码的工具。Android API提供了XML文件定义的几何形状的Drawable资源,包括颜色、边界和梯度。这些按钮的生成是基于drawable形态的XML代码,这样可以比普通的png按钮加载得更快。你可以在设置面板上自定义按钮的属性,然后获取其源码。飞机票这里记录下要实现上面的效果其实很简单 这里我使用的是RuttionButto
2016-07-21 10:58:42 793
原创 自定义下载圆形按钮
先看效果图: 下面直接上代码: public class CircleProgressView extends LinearLayout { private ImageView mIcon; private TextView mNote; private boolean mProgressEnable;//是否绘制背景 private long mMax = 10
2016-07-19 14:09:27 335
原创 自定义view实现下载进度button
先看效果图 这里有个小问题。完成的时候应该显示 完成。这个随意了下面直接开撸: public class ProgressButton extends Button { private boolean mProgressEnable; private long mMax = 100; private long mProgress; private Drawab
2016-07-19 14:02:39 750
原创 自定义轮播图
先看效果图: 实现viewpager +handler 实现首先定义一个类集成自Runnalbe class AutoScrollTask implements Runnable { /** * 开始轮播 */ public void start() { UIUtils.postTaskDel
2016-07-19 12:04:10 435
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人