android
文章平均质量分 59
xuwenwen_2013
这个作者很懒,什么都没留下…
展开
-
android绘制知识--双缓冲绘图技术
今天我们说下双缓冲绘图技术。其实也没有那么神秘,可以理解为就是一个装载工具,说点接地气的比如搬砖。我们每次可以搬十块砖,从A搬到B,如果是就搬十块我们当然是直接搬过去比较快,但是如果是一百或者一千块呢?你直接搬效率肯定很低,于是我们用身边的小推车一直装上然后推过去。我们的双缓冲技术就是这个“小推车”。我们知道,我们在绘图时有两样东西是少不了的,一个是Canvas(画布),一个是Paint(画笔)。Canvas提供画各种图形的方法,如画圆(drawCircle),画矩形(drawRect)等等,Paint转载 2021-06-09 09:53:13 · 243 阅读 · 0 评论 -
java.lang.RuntimeException: Could not read input channel file descriptors from parcel.
https://blog.csdn.net/xx326664162/article/details/81779475原因是有错解决方法:这个错误报告会生成在[app module]/build/reports/lint-results-yourBuildName-fatal.html打开这个网页,可以看到详细的错误信息,修改起来就简单了。...原创 2021-05-10 16:33:42 · 534 阅读 · 0 评论 -
canvas之save、restore、restoreToCount详解
Canvas(画布) save和restore保存和恢复对象都是Canvas 。不要误以为是画图,画到一半,保存,再画的意思,它的作用是保存画布的设置信息。例如canvas.translate,canvas.rotate()之类的。Canvas的方法Canvassave,把Canvas的信息保存,压入栈。Canvasrestore ,恢复到最近的一个保存点。出栈。restoreToCount恢复到特定的保存点。解释Canvas的save()、restore()这两...转载 2021-01-29 09:32:20 · 872 阅读 · 0 评论 -
Android Paint的使用详解
自定义控件具有很强的灵活性,可以根据你的想法画出各种各样的图案,在Android中如果是自定义控件的话,Paint这个类用的还是较多的,这一篇就来简单介绍Paint这个类的使用,先来看一下这个类的注释 /** * The Paint class holds the style and color information about how to draw * geometries, text and bitmaps. */ 这个类可以画几何图形,文本和...转载 2021-01-28 16:07:47 · 729 阅读 · 0 评论 -
SurfaceView和普通view的区别及简单使用
https://blog.csdn.net/u010126792/article/details/86249399?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control转载 2021-01-04 13:17:16 · 164 阅读 · 0 评论 -
Android中RectF方法的参数说明
Android中画区域的方法:public RectF (float left, float top, float right, float bottom)已知四个顶点的坐标,绘制矩形时,只需要知道对角坐标即可,例如RectF rectF = new RectF(screenXYs[0].x,screenXYs[0].y,screenXYs[2].x,screenXYs[2].y);即可绘制出需要矩形。...原创 2020-12-30 10:27:24 · 691 阅读 · 0 评论 -
Android 计算执行时间间隔请使用SystemClock.elapsedRealtime()来计算
Android 计算执行时间间隔请使用SystemClock.elapsedRealtime()来计算原创 2020-12-18 09:18:06 · 1044 阅读 · 0 评论 -
Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
Android 设备的CPU类型(通常称为”ABIs”)引用:https://blog.csdn.net/ouyang_peng/article/details/51168072armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它. arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。 armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。 x86: 平板、模拟器用.转载 2020-10-23 13:46:55 · 489 阅读 · 0 评论 -
Java方法注释中,添加尖括号的方法
在编写java方法的注释的时候,可能会遇到有时候需要使用代码方式来告知别人方法如何调用的情况,然后就可能会含有<>这种尖括号符号,比如:Map<String,String> map=new HashMap<String,String>但是,假如直接在注释中写上尖括号,那么在将鼠标放到方法上面,查看注释的时候,会发现尖括号和尖括号中的内容直接被屏蔽掉了,这时候,就需要将尖括号转成 > < 才能正常显示,和HTML一样。感觉java的这个注转载 2020-07-06 14:35:08 · 1683 阅读 · 0 评论 -
ImageButton设置src图片大小
需求&起因有时候没有找到合适大小的资源,需要修改图片大小而且不改变ImageButton的大小。可以通过缩放图片大小的方式改变外观。ImageView的属性android:scaleType也适用于ImageButtonImageView的scaleType属性取值:matrix(默认), center, centerCrop, centerInside, fitCenter, fitEnd, fitStart, fitXY大致分为两类:不改变原图尺寸;缩放原图尺寸1、scale原创 2020-06-23 11:39:07 · 6130 阅读 · 0 评论 -
ConstraintLayout动态添加View,改变约束
https://www.jianshu.com/p/16e34f919e1a转载 2019-12-17 09:19:35 · 3340 阅读 · 0 评论 -
Android打包后闪退崩溃要注意的小坑
https://blog.csdn.net/qq_34310081/article/details/70209568转载 2019-12-13 17:28:13 · 1811 阅读 · 0 评论 -
Android Studio - 编译debug通过了, release没有通过
问题:Lint found fatal errors while assembling a release target.To proceed, either fix the issues identified by lint, or modify your build script as follows:android { lintOptions { che...转载 2019-12-03 14:21:49 · 675 阅读 · 0 评论 -
点击空白处隐藏键盘和光标
//点击空白处隐藏键盘和光标*//** * 重写事件分发 * @param ev * @return *//*@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View v = getCur...原创 2019-11-27 10:14:19 · 274 阅读 · 0 评论 -
Markdown基本语法
Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。相比WYSIWYG编辑器优点:1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内...转载 2019-11-14 10:14:23 · 82 阅读 · 0 评论 -
何为Androidx?
Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。Android系统在刚刚面世的时候,可能连它的设计者也没有想到它会如此成功,因此也不可能在一开始的时候就将它的API考虑的非常周全。随着A...转载 2019-11-13 16:54:49 · 140 阅读 · 0 评论 -
约束布局ConstraintLayout
目录1.介绍 2.为什么要用ConstraintLayout 3.如何使用ConstraintLayout 3.1 添加依赖 3.2 相对定位 3.3 角度定位 3.4 边距 3.5 居中和偏移 3.6 尺寸约束 3.7 链 4.辅助工具 4.1 Optimizer 4.2 Barrier 4.3 Group 4.4 Placeholder 4.5.Guideli...转载 2019-10-28 09:13:37 · 121 阅读 · 0 评论 -
安卓隐藏输入法键盘以及去除光标方法
在开发中遇到一个需求“点击屏幕非编辑区以及点击键盘回车键后要隐藏输入法以及光标要关闭”,因此向各位分享一下做法一.点击屏幕处于非edittext时让键盘消失以及清除edittext光标方法:1.在Activity中使用如下代码:/*** 重写事件分发*/@Overridepublicbooleandispatch...转载 2019-10-17 15:31:50 · 2519 阅读 · 0 评论 -
GitHub控件之BadgeView(数字提醒)
数字提醒大家肯定都见识过。QQ、微信等app中如果有消息或者提醒的时候,就会展现给用户一个红点或者带有数字的点。前段时间微信上流行把自己的头像换成带有数字提醒的头像,让那些有强迫症的人真是抓狂。 下面我们就看一下怎么在自己的app中实现这种效果。 开发者当然可以自己用相对布局来实现这样的效果。一个还好,但是多了呢!就会很繁琐。GitHub上有一个开源的第三方转载 2015-12-29 09:58:57 · 387 阅读 · 0 评论 -
Android中BroadCastReceiver使用
BroadcastReceiver 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程: 首先在需要发送信息的地方,把要发送的信息和用于过滤的转载 2015-12-28 14:01:03 · 300 阅读 · 0 评论 -
BroadcastReceiver应用详解
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户转载 2015-12-25 14:17:52 · 215 阅读 · 0 评论 -
ViewPager onPageChangeListener总结
首先ViewPager在处理滑动事件的时候要用到OnPageChangeListenerOnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChanged,onPageScrolled ,onPageSelected)onPageScrollStateChanged(int arg0) ,此方法是在状态改变的时候调用,其中arg转载 2015-12-29 10:24:13 · 294 阅读 · 0 评论 -
Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。其在XML文件和Java代码中设置如下:可见(visible)XML文件:android:visibility="visible"Java代码:view.setVisibility(View.VISI转载 2015-12-29 13:42:33 · 268 阅读 · 0 评论 -
关于Android Studio 和 Gradle的那些事儿
背景介绍 采用eclipse中开发android项目有许多鸡肋的地方,比如启动速度超级慢。google/IO大会推出android studio后,安卓ers的福音就来了。Android Studio是一个全新的基于IntelliJ IDEA的Android开发环境,类似于Eclipse ADT插件,Android Studio提供了集成的Android开发工具用于开发和调转载 2015-12-31 11:26:32 · 440 阅读 · 0 评论 -
从Eclipse转移到IntelliJ IDEA一点心得
本人使用IntelliJ IDEA其实并不太久,用了这段时间以后,觉得的确很是好用。刚刚从Eclipse转过来的很多人开始可能不适应,我就把使用过程中的一些经验和常用功能分享下,当然在看这篇之前推荐你先看完IntelliJ IDEA 的 20 个代码自动完成的特性,这篇文章对自动完成的特性介绍的非常好,只是快捷键说明部分还可以更完善一些,可以照顾下默认绑定键位不一致的童鞋。本文在说明快捷键的时候是转载 2015-12-31 11:38:39 · 590 阅读 · 0 评论 -
Android 系统名字、版本、API level的对应关系
Code nameVersionAPI levelLollipop5.1API level 22Lollipop5.0API level 21KitKat4.4 - 4.4.4API level 19Jelly Bean4.3.xAPI level转载 2015-12-31 15:08:14 · 422 阅读 · 0 评论 -
Intent和PendingIntent区别
intent英文意思是意图,pending表示即将发生或来临的事情。 PendingIntent这个类用于处理即将发生的事情。比如在通知Notification中用于跳转页面,但不是马上跳转。 Intent 是及时启动,intent 随所在的activity 消失而消失。 PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadc转载 2016-01-04 11:10:46 · 511 阅读 · 0 评论 -
Android 判断SD卡是否存在及容量查询
Android 判断SD卡是否存在及容量查询的简单方法如下:首先要在AndroidManifest.xml中增加SD卡访问权限[html] view plain copy uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>转载 2016-02-20 16:26:46 · 327 阅读 · 0 评论 -
适配器(理解)
Adapter概述 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。角色转载 2015-12-29 11:33:39 · 388 阅读 · 0 评论 -
SharedPreference中editor.apply();和editor.commit();的区别
相同点:1.二者都可提交preference的修改数据2.二者都是原子操作区别:1.apply没有返回值而commit返回boolean表明修改是否提交成功2.apply是将修改数据原子提交到内存,而后异步真正提交到硬件磁盘;而commit是同步的提交到硬件磁盘,因此,在多个并发的提交commit的时候,他们会等待正在处理的commit保存到磁盘后在操作,从转载 2016-09-10 15:51:53 · 5672 阅读 · 0 评论 -
SharedPreference
Android应用开发SharedPreferences存储数据的使用方法SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据。1、使用SharedPreferences保存数据方法如下://实例化S转载 2016-08-23 12:00:18 · 171 阅读 · 0 评论 -
Fragment
Fragment必须内嵌到activity中,它不能单独使用,并且它的生命周期受到activity生命周期的制约——当activity暂停时,所有的fragment暂停,当activity停止时,所有的fragment停止。只有当activity处于运行态(resumed in lifecycle state)时,才可以单独操作各个fragment,比如添加或删除。在fragment事件中,act转载 2016-09-18 09:57:27 · 290 阅读 · 0 评论 -
Fragment中onOptionsItemSelected方法不起作用的解决方法
以前一般都是在Activity中添加menu菜单,一般是重写onCreateOptionsMenu和onOptionsItemSelected方法。现在Fragment用的多了,就在Fragment里面添加menu菜单,也是重写了onCreateOptionsMenu和onOptionsItemSelected方法,但是发现没有效果。在源代码中可以发现,这跟一个叫mHasMenu的boolea转载 2016-09-18 10:52:24 · 1068 阅读 · 0 评论 -
Fragment中onOptionsItemSelected方法不起作用的解决方法
以前一般都是在Activity中添加menu菜单,一般是重写onCreateOptionsMenu和onOptionsItemSelected方法。现在Fragment用的多了,就在Fragment里面添加menu菜单,也是重写了onCreateOptionsMenu和onOptionsItemSelected方法,但是发现没有效果。在源代码中可以发现,这跟一个叫mHasMenu的boolea转载 2016-09-18 10:55:07 · 564 阅读 · 0 评论 -
Android中变量的命名规范
Follow Field Naming ConventionsNon-public, non-static field names start with m.Static field names start with s.Other fields start with a lower case letter.Public static final fields原创 2016-09-20 09:32:09 · 2887 阅读 · 0 评论 -
Log信息
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");2、Log.d的输出颜色是蓝色的,仅转载 2016-09-23 10:43:25 · 462 阅读 · 0 评论 -
Android判断当前设备是手机还是平板以及dp与pix的转换
Android开发需要适配手机和平板,有些需求实现时就要求判断设备是手机还是平板。网上很多说通过设备尺寸、DPI、版本号、是否具备电话功能等进行判断,不过都不算太精确。这里分享一个简洁给力的方法(官方用法):/** * 判断当前设备是手机还是平板,代码来自 Google I/O App for Android * @param context * @return 平板返回转载 2016-09-23 16:02:38 · 1315 阅读 · 0 评论 -
GET,POST,PUT,DELETE的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1转载 2016-09-26 11:21:00 · 1581 阅读 · 0 评论 -
关于如何使用枚举类的values方法!
枚举类中的元素是无法通过下标值来访问的,如果你想指定访问枚举类中的某个值,你只能直接写出它们的值,除此之外,别无他法。但是枚举类有一个values()方法,这个方法可以将枚举类转换成一个枚举类型的数组,转换成数组之后我们就可以通过下标来访问我们的枚举类中的值。比如下面的代码:[java] view plain copyenum Direction转载 2016-10-13 11:59:23 · 6500 阅读 · 1 评论 -
Navigation Drawer从右侧划出
今天研究了一下NavagationDrawer,看了看Android的demo,drawer是从左往右出来的,感觉应带可以设置成从右往左。鼓捣半天也不知道怎么弄。后来在stackoverflow上找到的答案。链接http://stackoverflow.com/questions/18547277/how-to-set-navigation-drawer-to-be-opened-from转载 2016-10-24 11:02:19 · 503 阅读 · 0 评论