
android技术
文章平均质量分 59
木偶16
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
纵向ScrollView嵌套横向ViewGroup时 遇到的手势冲突问题
问题描述:滑动嵌套在ScrollView中的ViewGroup时,断断续续。解决方法:一、重写ScrollView方法public class MyScrollView extends ScrollView { private float xDistance, yDistance, xLast, yLast; public MyScrollView(原创 2016-07-06 12:00:10 · 1000 阅读 · 1 评论 -
Android开发中简化findViewById的几种方法
这几天查资料,DataBind暂且不谈,简化findViewById方法主要有三种:1、注解;2、另类写法;3、已有框架。1、注解,这是通过反射的原理,自已写注解方法,可以参考该网址:http://www.cnblogs.com/Fndroid/p/5354644.html。2、另类写法,使用泛型可以简化强制转化的步骤,该方法在BaseActivity中使用findViewById,参考网原创 2017-11-21 14:52:13 · 2358 阅读 · 0 评论 -
Android中父View和子view的点击事件
转载自:http://blog.csdn.net/andylao62/article/details/47665103。总结的很清楚android系统中的每个View的子类都具有下面三个和TouchEvent处理密切相关的方法:1)public boolean dispatchTouchEvent(MotionEvent ev) 这个方法用来分发TouchEvent2转载 2017-12-20 14:35:05 · 2470 阅读 · 0 评论 -
使用Fiddler抓Android应用的包
第一步:下载神器Fiddler,下载链接:链接:https://pan.baidu.com/s/12Ii97StncJ2H9CGSX7GyFA 密码:omv5下载完成之后,傻瓜式的安装一下了(这里吐槽一下没自动生成桌面图标)!第二步:设置Fiddler打开Fiddler, Tools-> Fiddler Options (配置完后记得要重启Fiddler)选中"Decrpt HTTP...原创 2017-11-24 14:22:55 · 2686 阅读 · 0 评论 -
Android 打印日志之com.orhanobut.logger的开源库
查找资料发现github上有不少关于打印日志的的开源库,之后综合考虑使用com.orhanobut.logger的开源库。一、主要功能有:1、线程信息 Thread information2、类信息 Class infomation3、方法信息 Method information4、打印json内容 pretty-print for json content5、清除输出C原创 2017-11-27 17:18:47 · 6336 阅读 · 0 评论 -
格式化日期字符串时遇到的问题
1、Date类的获取年月日的方法都划横线,不推荐使用了。使用Calendar类获取,使用该类的setTime将Date转化为Calendar,再使用get()方法获取年月日等。2、使用SimpleDateFormat类格式化日期型字符串时报错不能解析从网上查了半天都没有找到问题所在,最后发现原因:如果你设置的格式是年月日时分秒,则你要格式化的字符串也要有这些,否则报错。比如我设置的格式是年月日时分...原创 2018-02-28 16:54:57 · 505 阅读 · 0 评论 -
Android优化——绘制优化之android系统显示原理(一)
一、android系统显示原理可以简单概括为:android应用程序把经过测量、布局、绘制后的surface缓存数据,通过SurfaceFlinger把数据渲染到显示屏幕上,通过android的刷新机制来刷新数据。也就是说应用层负责绘制,系统层负责渲染,通过进程间通信把应用层需要绘制的数据传递到系统层服务,系统层服务通过刷新机制把数据更新到屏幕。 android的图形显示系统采用的是Cli...原创 2018-10-15 17:28:52 · 846 阅读 · 0 评论 -
从点击位置打开activity动画效果
思路1、关闭Activity的默认动画,在style里设置,并在代码中添加overridePendingTransition(0, 0);2、将windowBackground设置为透明,同样在style中设置3、获取被点击view的在以屏幕为坐标系下的坐标,并将之传递给下一个页面B4、在B页面一打开时将与A页面中的同类型的View进行位移及缩放达到与在页面A中的大小及位置5、执行属性动...原创 2019-04-12 17:37:21 · 788 阅读 · 0 评论 -
Gradle版本从2.3升到3.3.2问题集锦
一、Gradle版本升级步骤1、在gradle-wrapper.properties文件中修改distributionUrl的版本,distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributi...原创 2019-04-21 09:37:44 · 3325 阅读 · 0 评论 -
android.support迁移到androidx
前言Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,将原来的android.替换成androidx.;只有包名和Maven工件名受到影响,原来的类名,方法名和字段名不会更改。官方早就推荐将support库迁移到androidx,因为后续support库不会再做更新。迁移时只需要3.2版本及以上的android stud...原创 2019-04-21 09:42:15 · 11065 阅读 · 0 评论 -
关于RecyclerView使用Glide加载图片导致错位问题总结
前言使用recyclerView时遇到了图片错位的问题,这个问题网上已经讨论的很成熟,谨以此文章做个总结。问题产生原因根本原因: 因为有ViewHolder的重用机制,每一个item在移出屏幕后都会被重新使用以节省资源,避免滑动卡顿。场景A:1.第一次进入页面,RecyclerView载入,不做任何触摸操作2.Adapter经过onCreateViewHolder()创建当前显示给用户...原创 2019-04-14 15:23:54 · 10253 阅读 · 1 评论 -
AppBarLayout滑动到指定位置
AppbarLayout有两种状态:折叠状态和展开状态。可以通过 setExpanded (boolean expanded) 方法设置状态。addOnOffsetChangedListener当AppbarLayout 的偏移发生改变的时候回调,也就是子View滑动。可以通过以下方法设置自动滚动到指定位置: CoordinatorLayout.Behavior behavior1 ...原创 2019-05-22 13:21:04 · 5249 阅读 · 0 评论 -
必应每日一图直接获取及接口
必应官网:https://cn.bing.com/直接获取图片的地址:area.sinaapp.com/bingImg https://www.dujin.org/sys/bing/1920.php返回Json数据的接口https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1返回结果:{ "i...原创 2019-06-05 14:26:20 · 9268 阅读 · 0 评论 -
使用IntDef、StringDef注解代替ENUM
使用IntDef、StringDef注解代替ENUM一、前言在android系统中,不推荐使用ENUM类型,因为他占用内存较大,所以一般使用静态常量来代替枚举,但是有些场景我们只需要某几个固定的或一个范围内的值。此时静态常量就没有办法用来检查我们传递的是不是自己想要的值,这个场景下可以使用这两个注解来完成,它会在编译的时候检查我们的赋值是否符合要求,提前发现错误。二、依赖这两个注解实现需要...原创 2019-06-13 16:32:11 · 824 阅读 · 1 评论 -
小米5s Plus安装类原生系统
小米5s Plus安装原生系统手机型号:MI 5s Plus codeName:natrium第一步:先解锁手机登录网站http://www.miui.com/unlock/index.html,点击立即解锁。提交申请成功后,等待审核通过。(一般申请后马上通过)审核通过后即获解锁资格,然后点击解决工具下载。如图:[外链图片转存失败(img-3CPFbWIE-15626...原创 2019-07-09 19:12:30 · 4148 阅读 · 0 评论 -
实现在一个界面里多个TextView的跑马灯效果
TextView 实现原生跑马灯效果注意:首先要保证TextView显示不全文本才会有效果关键属性设置为跑马灯显示android:ellipsize="marquee"获取焦点android:focusable="true"可以通过touch来获得focusandroid:focusableInTouchMode="true"设置重复的次数android:marqueeRepe...原创 2019-07-10 17:32:53 · 820 阅读 · 0 评论 -
android设置颜色方法
1、写在res\values\color.xml文件中,如: text_color">#00000000 #FFFFFF调用:mTv.setTextColor( this.getResources().getColor(R.color.text_color));总结:注意color.xml文件中的 颜色值是以#号开头的rgb值,可以加透明值,也可以不加,原创 2017-11-15 15:40:21 · 1276 阅读 · 0 评论 -
"&" 、 "&&"、 "|" 、 "||"
& 表示:与。双目运算符,只有两边都为真才为真(一假即假),但当左为假时,程序还会计算右是否为真。&& 表示:短路与。双目运算符,只有两边都为真才为真(一假即假),但当左为假时,程序不会再计算右侧结果。| 表示:或。双目运算符,只要两边有一个真就为真(一真即真),但当左为真时,程序还会计算右是否为真。|| 表示:短路或。双目运算符,只要两原创 2017-11-15 15:12:22 · 19072 阅读 · 0 评论 -
Android Studio 将引用第三方jar包的android工程打包成jar包
1、新建一个module,在该module中编写你所打的包的功能。若你所写代码需要权限,要到该module下的androidmanifest.xml中写上相应权限。2、在新建module的.gradle文件中添加如下代码:task makeJar(type: Copy) { delete 'build/libs/mysdk.jar' from('build/interm原创 2016-09-07 09:08:42 · 6279 阅读 · 2 评论 -
android studio 两个app之间的交互
两个app之间的交互主要使用action进行跳转,并使用onactivityResult进行返回值的查看。我使用的方法为隐匿Intent,并没有根据activity去进行调用,主activity 主要代码 如下:Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); inte原创 2016-10-10 17:08:02 · 3970 阅读 · 0 评论 -
将app做成不可打开、无桌面图标、只可被调用的插件
在网上搜了不少资料,有说将Androidmanifest.xml文件中的android:name和android:label两个属性设置成空的,但是失败,应用图标会变成默认的小机器人图标。之后解决问题的只是一条语句:将AndroidManifest.xml文件中的删除或将LAUNCHER改成DEFAULT即可。如图:虽然工程会带小红叉号如图,但是一步步也是可以运行的。只是没有默认打开的原创 2016-10-10 17:37:03 · 899 阅读 · 0 评论 -
微信支付遇到的问题集
1、点击调用微信支付无法跳转到结果界面。 解决办法:确定WXPayEntryActivity 在wxapi包名下,而wxapi放到你的根包下。微信才可以将值返回到这个activity中。如图:2、微信返回-1。解析:返回-1的问题多种多样,以下列举我遇到的问题: 申请应用时填写的包名与签名与你使用的应用的包名签名不一致,这需要你仔细查看,尤其是签名问题,一定要使用你原创 2016-10-10 16:46:48 · 573 阅读 · 0 评论 -
android 本地生成图形验证码
工作学习中要使用到这个功能,在网上查找了些例子,但都不符合要求,做了一些完善:1.颜色为rgb256的;2.生成的文字间距不会超过图片宽度代码如下:import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.g原创 2016-11-16 16:03:04 · 694 阅读 · 0 评论 -
在scrollview中嵌套listview,listview显示不全问题
public static void setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) {原创 2016-11-16 16:10:01 · 298 阅读 · 0 评论 -
android中xml tools属性详解
第一部分安卓开发中,在写布局代码的时候,ide可以看到布局的预览效果。但是有些效果则必须在运行之后才能看见,比如这种情况:TextView在xml中没有设置任何字符,而是在activity中设置了text。因此为了在ide中预览效果,你必须在xml中为TextView控件设置android:text属性 android:id="@+id/text_main" a转载 2017-02-15 09:25:04 · 387 阅读 · 0 评论 -
Genymotion与电脑文件共享
1、首先打开vbox的界面,左侧列表应该可以看到Genymotion添加的虚拟机,如图:2、对要设置的虚拟机单击右键(注意要设置的虚拟机要是关闭的),在弹出的菜单中点击“设置...”,弹出设置页面后点击左侧标签“共享文件夹”,点击右侧的添加文件夹的小图标,如图:3、在弹出的界面中输入与Genymotion共享文件夹路径和共享名称,勾上“自动加载”,确定之后关闭vbo原创 2017-02-15 09:35:54 · 7014 阅读 · 1 评论 -
Android 打印日志
app在运行过程中,为了后期的维护升级,记录日志是一个非常好的方法。为了读取到app运行时的日志,一般的作法是单独开一个线程,在app运行的启动线程,然后app退出时停掉线程。然而我们更好的方法是开启一个service,然后在里面做日志记录,代码如下:[java] view plain copypackage com.hai.转载 2017-06-01 20:07:06 · 712 阅读 · 0 评论 -
控件缩写大全
控件缩写转载 2017-11-10 14:37:29 · 599 阅读 · 0 评论 -
命名规范
命名规范转载 2017-11-10 14:43:03 · 1863 阅读 · 0 评论 -
android权限大全
android权限大全呐原创 2017-11-10 14:48:09 · 464 阅读 · 0 评论 -
基本数据与String间的转化
1. 由 基本数据型态转换成 StringString 类别中已经提供了将基本数据型态转换成 String 的 static 方法 也就是 String.valueOf() 这个参数多载的方法 有下列几种 String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 String.valueOf(char c) : 将 char 变量原创 2017-11-10 14:55:46 · 341 阅读 · 0 评论 -
代码中高度、宽度的单位
java代码中数字的单位是像素(px)在java代码中引用dimen文件中的值:getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸。文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int。getDimensionPixelSize()与getDimension()功能类似,不同的是将结果转换为原创 2017-11-17 15:54:38 · 2489 阅读 · 0 评论 -
android 沉浸状态栏下fitSystemWindow与键盘挡住输入框问题
android 沉浸状态栏下fitSystemWindow与键盘挡住输入框问题在将状态栏改为沉浸时遇到了如下一个问题:fitsSystemWindows设置为true后,界面就无法全屏,因为顶部有一个状态栏高度的padding;不设置fitsSystemWindows,adjustResize模式无法用于沉浸全屏界面,导至输入框无法跟随键盘。沉浸状态栏使用的工具:ImmersionBar问题...原创 2019-09-05 16:23:44 · 2739 阅读 · 0 评论