- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 关于View事件分发
关于事件分发:dispatchTouchEvent//是否消费,不消费就传递给上一层对于view,super是true,走ontouchevent对于viewgroup,如果是super,走onInterceptTouchEvent去判断是否进行拦截;如果是true,直接消费(但是不会触发onTouchevent,相当于作废了),不再走下面的分发;如果false,给上一级的onTouche...
2017-06-29 13:42:53 251
原创 android开发常用:获取屏幕尺寸
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); widthScreen = wm.getDefaultDisplay().getWidth();
2017-06-14 09:56:05 299
转载 Android中view的各种尺寸,宽高、XY坐标
如果需要在代码中设置view的位置,setX和setLeft设置都是这个view左上角的坐标;前一个表示对于屏幕的坐标,后一个表示相对于副布局
2017-06-13 18:00:02 1418
原创 Android实现一个选择器-recycleview滚动中第一个item位置的获取
package com.example.administrator.testanima.ActivityTwo;import android.content.Context;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotat
2017-06-13 17:58:38 3109
原创 Android开发常用:根据name获取drawable的ID
ApplicationInfo appInfo =mContext. getApplicationInfo(); int resID = mContext.getResources().getIdentifier(s, "drawable", appInfo.packageName);
2017-06-12 10:56:22 2267
原创 使用rxjava2.0根据url获取bitmap,并显示到imageview上
/*retrofit的引入*/ compile 'com.squareup.retrofit2:retrofit:2.2.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' /*retrofit对rx支持的引入*/ compile 'com.squareup.retrofit2:adapter-rxjav
2017-06-28 09:30:03 1762
转载 给recycleview添加一个拖拽更换位置
1.使用 ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new SimpItemTouchHelper()); itemTouchHelper.attachToRecyclerView(recycleview);2.关于这个helper /*对于拖拽事件*/ class SimpItemTo
2017-06-27 18:06:28 943 1
原创 自己写的一个recycleview下拉加载
安利一个写markdown的奇招淫术,world转markdown工具,但是代码写word中不行的,先在csdn的编辑器中写,然后复制到word,然后转,即可。word转markdown: https://word-to-markdown.herokuapp.com/项目git地址:https://github.com/15539158137/SimpleRecyv
2017-06-26 15:09:58 211
转载 git更新和删除文件代码
二、更新代码:代码提交一般有五个步骤:1.查看目前代码的修改状态;2.查看代码修改内容;3.暂存需要提交的文件;4.提交已暂存的文件;5.同步到服务器1. 查看目前代码的修改状态提交代码之前,首先应该检查目前所做的修改,运行git status命令a) 已暂存 (changes to be committed)new file //表示新建文件mod
2017-06-23 16:58:53 11302
原创 Android把项目打包成library--亲测有效
菜鸡找了半天没找到,找到的都是不太清楚,暂且就整理下吧1.必要的地方。去build.gradle中,把apply plugin:'com........application',更改为‘com.android.library’;注释掉defaultConfig节点下的applicationId "....".apply plugin: 'com.android.application'
2017-06-23 10:00:00 1407
原创 java两个int相除,返回保留两位小数
private double deciMal(int top, int below) { double result = new BigDecimal((float)top / below).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); Log.e("返回的两位数",result+"'");
2017-06-22 15:41:32 23737 2
原创 Android一个项目,打包成不同的包,并在同一设备运行(多渠道打包)
1.在build.gradle中,与buildTypes同级的目录下 /*打包的配置*/ productFlavors { gradle1 { //通过设置不同的appid实现不同APK applicationId "com.example.administrator.testwechat" ...
2017-06-22 11:45:46 1459
原创 关于Recycleview返回多个item布局
1.首先,在recycleviewAdapter的onCreateViewHolder传递的参数中有一个int viewType.使用该参数,可以对加载的item布局进行控制;if(viewType==1){return viewHolder1;}else{return viewHolder2;}2.对viewType的控制,重写adapter的getItemViewT
2017-06-21 17:40:50 577
原创 关于Thread的关闭方法
今天写一个列表音乐的播放,播发中通过thread持续监测播放进度,代码如下:new Thread(){}.start();while(true){if(isPlaying){//去更新当前条目的进度if(progress==100){isPlaying=false;}}}运行了一下,老铁,很nice。进度确实更新了,播放完毕该线程也不会继续调用了。但是,
2017-06-21 17:28:06 3682
原创 基础的一个动画
/*进度条移动的方法*/private void startProgress(final double progress1){ final int width=progress.getWidth(); final ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_
2017-06-21 11:02:50 173
转载 android中关于view.setTag
对于view.setTag,有两个不同的方法view.setTag("");view.setTag(tag,"");第一个方法就不说了,对于第二个方法,前一个参数Tag必须是个int类型,如果你直接写1、2.。。;当你getTag的时候就会报错,提示你这个tag不是唯一的,就算你吧1定义成全部变量,然并卵。解决办法:在res下的value中的string中,新增ID类型的数据:
2017-06-21 10:29:05 1101
转载 工信部要求国内 Android 统一消息推送标准(里面有进程包活)
转自:https://juejin.im/entry/59335a012f301e00584d36cd原文链接:http://rance935.com/blog/?p=189如果这一标准能够顺利实施对于不光对于 Android 开发者是一个天大的好消息,对于普通用户也是非常好的消息。说说你的看法 —— 由Rance935分享昨天泰尔终端实验室发出了一条最新新闻,原文
2017-06-21 10:15:22 1359
转载 图片和视频选择器
https://github.com/LuckSiege/PictureSelectorPictureSelector 2.0一款针对android平台下的图片选择器,支持从相册或拍照选择图片或视频、音频,支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能、适配android 6.0+系统的开源图片选择框架。 项目会一直维护(有bug修复完成,
2017-06-20 11:49:15 5852 2
原创 java设计模式-建造者模式
android中常见的使用Alertdialog.builder........creat();使用建造者模式,可以少些构造器,可以避免由于构造器中数据类型相同后传入数据错误,而导致的结果错误;等等现在来手动实现一个:学生类,name/age/number/class;内部一个内部类,该内部类的变量类型和个数与student类相同,通过该内部类的变量可以生产一个student对象。pu
2017-06-19 16:25:20 175
原创 Recycleview嵌套Recycleview时出现的一个问题-待解决
只add间距一次,不要多次add目标实现下面的效果;思考一下,很简单,Recycleview嵌套Recycleview;外层的item宽度固定,高度为自适应;内部为一个Recycleview实现的gradview,item宽度固定,然后给内层的recycleview设置一个间距:即addItemDecoration。但是,事情会这么简单吗?简单我就不会写出来。照着思路一步步走下去,...
2017-06-16 15:41:32 2984 2
转载 一个牛逼的页面动画(Spruce )
https://github.com/willowtreeapps/spruce-androiddependencies { compile 'com.willowtreeapps.spruce:spruce-android:1.0.1'}Animator spruceAnimator = new Spruce .SpruceBuilder(parentVie
2017-06-15 17:27:47 1597
原创 关于Bugly热更新sdk使用的一些小细节
跟着文档一路敲下来,基本就没什么问题了。关于打包,是在studio右侧的Gradle选项打开的,菜鸡的我找了好久不知道官方文档上的打包页面在哪。1.关于Tinker本身的debug。该debug可以看到app基准包上传的TinkerID等信息,这些logcat的输出信息可以更直观的判断是否集成成功。2.关于instant run。我发现调试4.+手机没问题,但是调试5.+会提示Th
2017-06-15 10:56:16 1428
原创 android使用ViewPage实现一个卡片滚动
需要实现的效果:首先VIewpage是自带滚动的,只是滚动的起来只能看到当前当前viewpage大小内的内容,如果需要看到上一个page的内容,则需要一个属性,android:clipChildren="false"这个属性在默认情况下是true,表示该父布局下子布局显示的内容只能是子布局区域的大小。下面是例子:viewpage的设置时相同的,都是居中显示,居左居右均有一段距离。
2017-06-14 11:13:24 1695
转载 一个recycleview的adapter
转自:http://www.jianshu.com/p/b343fcff51b0BRVAH是一个强大的RecyclerAdapter框架,它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。为什么会有它?请查看「Android开源框架BRVAH由来篇」该框架于2016年4月10号发布的第1个版本到现在已经一年多了,经历了700多次代码提交,140多次版本打包,修复了10
2017-06-13 15:57:15 1454
转载 关于Android中的传感器
/*获取手机上所有传感器的信息*/ private void getAllSensor() { mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); //获取手机上支持的所有传感器 List mList = mSensorManager.getSe
2017-06-13 15:30:07 574
原创 spinner的简单使用
Spinner spinner = (Spinner) findViewById(R.id.spinner); items = new ArrayList(); items.add("1"); items.add("2"); items.add("3"); items.add("4"); /*和li...
2017-06-13 11:33:19 260
原创 Android5.0后的圆圈动画
public void onClick(View v) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { /* * 前一个200,表示X轴上的坐标;后一个表示Y轴上的坐标 * 5表示动画开始时的半
2017-06-13 10:14:13 774
转载 OOP六大规则
1. 单一职责原则(Single Responsibility Principle)2. 里氏替换原则(Liskov Substitution Principle)3. 依赖倒置原则(Dependence Inversion Principle)4. 接口隔离原则(Interface Segregation Principle)5. 迪米特法则(Law Of Demete
2017-06-12 10:21:30 333
转载 android的一个下载框架
http://www.jianshu.com/p/ba32dc499db3https://github.com/AriaLyy/Aria本文主要介绍开源项目Aria的使用。Aria项目源于15年工作中遇到的一个文件下载管理的需求,当时被下载折磨的痛不欲生,从那时起便萌生了编写一个简单易用,稳当高效的下载框架,aria经历了1.0到3.0的开发,算是越来越接近当初所制定的目标
2017-06-05 17:18:00 6867 2
转载 一个刁刁的卡片样式广告轮播
转自:https://github.com/pinguo-zhouwei/MZBannerViewMZBannerView现在的APP Banner大多数千篇一律,前几天看到魅族手机上所有魅族自家APP上的Banner效果不错,于是就想着来仿着做一个类似的效果。因此就有了这个库。但是为了使用方便,这个库不仅仅只有仿魅族效果的BannerView 来使用,还可以当作普通的Ba
2017-06-05 16:52:33 3811
转载 service temp
public class GrayService extends Service { private final static int GRAY_SERVICE_ID = 1001; @Override public int onStartCommand(Intent intent, int flags, int startId) { if (Build.V
2017-06-05 15:05:24 322
转载 一个视频播放第三方(JCvideoPlayer)以及部分调整
https://github.com/lipangit/JieCaoVideoPlayer/wiki/API
2017-06-01 17:27:21 4400 1
转载 一个recycleview实现的画廊
https://github.com/huazhiyuan2008/RecyclerViewCardGalleryhttp://www.jianshu.com/p/85bf072bfeed
2017-06-01 13:52:17 1304
原创 监听VideoView的暂停和播发
原理很很简单,继承videoView实现start和pause方法,源码有一个resume方法,但是没看到这个resume方法的作用是什么package com.jdhr.mhjdapp.creatbyshb.myview;import android.content.Context;import android.os.Build;import android.support.anno
2017-06-01 09:44:04 5056
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人