- 博客(54)
- 资源 (22)
- 收藏
- 关注
原创 解决AndroidStudio 2022.3.1版本 引入maven报错的问题
解决AndroidStudio 2022.3.1版本 引入maven报错的问题。
2023-09-28 17:16:20
3765
原创 Android一个简单带动画的展开收起功能
在Android上,布局的显示和隐藏往往很生硬,给人体验不好,本文使用 android:animateLayoutChanges属性,使得体验效果瞬间提升一个档次。
2023-09-28 17:11:52
1686
1
原创 Android 原生的人脸识别Camera+FaceDetector示例
人脸识别google有自带api,Androoid 原生的人脸识别是利用相机的摄像功能和android.media.FaceDetector这个类来实现的1、android.hardware.camera1.1 简介Camera 类用于设置图像捕获设置、开始/停止预览、抓拍图片和检索帧以进行视频编码Camera的源码1.2 人脸识别步骤:1. 初始化相机并设置相机参数;2. 设置预览监听setPreviewDisplay();3. 开始预览startPreview();4. 实现预览的接口
2022-05-06 16:47:13
7374
原创 解决RcyclerView嵌套EditText时,产生的焦点冲突,导致RecyclerView自动滑动问题
RecyclerView嵌套焦点问题解决办法
2022-04-15 16:46:02
4369
原创 android 主流的屏幕适配方案
1、宽高限定符适配1.1 原理:就是穷举市面上所有的Android手机的宽高像素值,设定一个基准的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件1.2 缺点:这个方案有一个致命的缺陷,那就是需要精准命中才能适配,比如1920x1080的手机就一定要找到1920x1080的限定符,否则就只能用统一的默认的dimens文件了。而使用默认的尺寸的话,UI就很可能变形,简单说,就是容错机制很差。1.3 集成1.3.1 dimens文件生成工具
2022-03-25 16:00:28
4053
原创 Android 根据打包环境不同,显示不同的应用名称
可以动态的设置应用名称和应用图标1.在app的buid.gradle中设置resValue 值productFlavors { dev { resValue "string", "app_name", "[研]微信" } product { resValue "string", "app_name", "微信" } internal_test { res
2021-09-30 11:08:22
616
原创 RecyclerView布局item中使用EditText,在刷新的时候,造成了数据的错乱
1. 造成的原因:item的复用,在适配器刷新的时候,EditText中Textwatcher被重复调用的问题,由于调用了notifyDataSetChanged()方法,而导致EditText重绘, 并且每次都走了textWatcher的afterTextChanged()方法.导致EditText中的内容发生了错乱的现象.2. 解决办法:方法一:强制停用Recyclerview的复用holder.setIsRecyclable(false);//防止editText数据错乱方法二:先删除一
2021-09-15 14:36:57
1717
7
原创 Android 文件上传(包括大文件上传)
android 文件上传可以分为两类:一个是小文件,直接上传文件;一个是大文件,这个需要分块上传。1.小文件上传:直接上传文件(tups)
2021-06-07 10:56:11
53543
原创 解决大屏上滑动不流畅,要滑动一半ViewPager才翻页的问题
解决方案1.修改AndroidX中的ViewPager的属性2.重写ViewPager这里用的是方案一,如下ViewPager中源码private int determineTargetPage(int currentPage, float pageOffset, int velocity, int deltaX) { int targetPage; if (Math.abs(deltaX) > mFlingDistance && Math.ab
2020-12-11 16:29:08
800
1
原创 Android 热修复实例
1.原理 JAVA虚拟机JVM在运行时,加载的是.classes的字节码文件。Android有自己的虚拟机Dalvik/ART虚拟机,他们加载的是dex文件,但是他们的工作原理都一样,都是经过ClassLoader类加载器。Android在ClassLoader的基础上又定义类DexClassLoader用来加载jar、apk、dex文件、加载jar、apk也是最终抽取里面的Dex文件进行加载.2.实例 (1)核心类:FixDexUtil package com....
2020-11-04 15:22:08
271
原创 android 软件盘遮挡EditText输入框的解决方法
思路:获取窗体可见的高度和窗体不可见的高度,然后将布局滚动到可见的区域, 可以获取软键盘的高度,然后将根布局滚动相应的距离 1.当界面出现变动都会调用这个监听事件: view.getViewTreeObserver().addOnGlobalLayoutListener /** * 解决在页面底部置输入框,输入法弹出遮挡部分输入框的问题 * * @param root 页面根元素 * @param editLay...
2020-08-27 17:10:56
536
原创 android 使用github上建立Maven仓库
最终github上的效果,如图 1.新建一个项目MavenDemo2.在项目里建立一个测试module,baselib如下图3.在baselib的build.gradle中配置maven仓库,如下图//发布Maven配置apply plugin: "maven"uploadArchives { repositories.mavenDeployer { pom.groupId = "com.zw" // ...
2020-08-20 18:08:20
815
原创 android studio 无法连接夜神模拟器
android studio 无法连接夜神模拟器的解决方法1.尝试连接夜神模拟器: 首先到你安装夜神模拟器的安装路径下 如:D:\Program Files\Nox\bin 运行cmd , 输入nox_adb.exe connect 127.0.0.1:62001 如下图2:可能是端口被占用 因为5037端口为默认的端口,可能被其他...
2020-07-22 17:42:42
954
原创 Android apk静默安装完成后自启动
1.apk静默安装的代码 public boolean silentInstall(Context context, String filePath) { File file = new File(filePath); PackageManager packageManager = context.getPackageManager(); Cl...
2020-04-27 15:09:10
3906
10
原创 Activity异常销毁后,fragment重叠问题
1.原因分析: Activity长期处于后台,系统由于资源不足,activity被销毁了,fragment状态缓存下来了。由于重新进入activity,重新走了onCreate方法,导致有一个fragment重新加入,造成fragment重叠2.解决方法:(1).通过Tag从前保存的数据中直接去读取 @Override protected void...
2020-01-09 16:40:13
1005
原创 android9.0 因为反射出现的系统弹框,解决方法
一、问题: Detected problems with API compatibility(visit g.co/dev/appcompat for more info)二、出现的原因: Android9.0后谷歌限制了开发者调用非官方公开API 方法或接口,也就是说,你用反射直接调用源码就会有这样的提示弹窗出现,非 SDK 接口指的是 Android ...
2019-12-25 09:52:31
1217
原创 android Button设置text属性为字母时,字母自动变成大写
字母字动变大写是在做项目是偶然发现的,我以前记得没有这种情况出现呀,很多人没注意也不信,刚开始我也不信,但是事实就是如此,先上效果图,如下:1.出现原因: 我在网上找到了的原因:android 5.0后,android 修改了一个属性值,将textAllCaps这个值改成true了。4.4能够正常显示,4.4的源码你们自己找一下,这里是5.0的源码,如下图:...
2019-09-06 10:55:36
936
原创 android RecyclerView实现流失布局增加自定义布局管理器(FlowLayoutManager)
1.效果如如下2.自定义的布局管理器FlowLayoutManagerpackage com.zw.flowlayoutdemo;import android.graphics.Rect;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.util.Spar...
2019-09-02 16:01:52
2329
原创 EditText输入限制10个汉字和20个字母
1.增加监听器 editTxt.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSeq...
2019-08-30 15:46:55
1754
原创 Android数据库框架 greenDAO:3.2.0的集成
1.配置gradle相关:最外层build.gradle配置buildscript { repositories { google() jcenter() mavenCentral() maven { url 'https://maven.google.com/' } maven { url "...
2019-03-12 14:59:22
517
原创 自定义ImageView,指定任一角为圆角
1.在项目中,我们不免遇到需要图片的上面两个角为圆角,下面两个为直角的情况。效果如下图2.主要的类为RoundAngleImageView.javapublic class RoundAngleImageView extends AppCompatImageView { private Context context; private boolean isCircl...
2019-01-30 17:19:34
812
原创 Banner3D效果的实例
此实例用RecyclerView实现无限轮播图,效果3d版,如下图: 1.BannerLayout.javapackage com.zw.mylibrary.banner;import android.content.Context;import android.content.res.Resources;import android.content.res.TypedA...
2018-10-12 11:40:36
1965
原创 android 相册选择图片出现bug,仔细一看是系统bug
android 部分手机在APP中从相册选择一张图片然后显示在控件上,在相册中看到的图跟显示的图片不一样显示时出现另一张图片,例如:三星S8
2018-09-07 09:30:24
1123
原创 getBackground().setAlpha导致全局的其他布局背景透明度都改变
1、问题:在Android 5.0以下版本一直没问题,但在5.0以上系统时,就会导致其他共用一个资源的布局(例如:@color/white)透明度都跟对标题栏被改变了。如:mLayout.getBackground().setAlpha(0),那么所有的背景就为透明了2、产生的原因默认情况下,所有的从同一资源(R.drawable.***等等)加载的实例都共享一个共用的状态,如果你...
2018-08-11 23:02:22
578
原创 android RelativeLayout 覆盖不了前一个view,那是应该按钮总在最上层
从5.0 开始,在同一个layout下,Button将总是位于最上层,就算你在Button上覆盖了相应的View。如图看图中的布局 产生原因:stateListAnimator属性 谷歌在Material Design中推出,是一个非常简单的方法用来实现在可视状态之间平滑过渡。这个属性可以通过android:stateListAnimator进行设置,可...
2018-08-03 17:30:14
10552
原创 Banner图片轮播效果banner框架实现(baner的自动滑动,循环滑动)
Banner能实现自动循环播放图片和手动滑动循环等功能,Banner框架可以进行不同样式、不同动画设置, 以及完善的api方法能满足大部分软件首页轮播图效果的需求
2018-06-05 09:22:21
3026
原创 android申请权限,对点击拒绝和允许的处理
1.在App中申请权限: private final int REQ_RECORD = 111; String[] unPermits = PermissionUtils.getUnGrantedPermission (permissions); if(!ListUtils.isEmpty(unPermits)){//没有申请权限时 ...
2018-06-04 14:23:10
5587
2
原创 Android头像选择(拍照、从系统相册选择)兼容6.0和7.0版本
由于Android7.0对权限的一些改动,我们不分手机无法访问到文件地址 1.AndroidManifest.xml 增加provider定义 <provider android:name="android.support.v4.content.FileProvider" //固定 android:authorities="com.lele...
2018-04-25 21:13:37
3661
原创 Android将软键盘中的回车改为搜索按钮
1.只需要在EditText中设置imeOptions这个属性就可以了 <EditText android:id="@+id/editSerch" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_mar...
2018-03-22 22:28:04
1802
1
原创 android自定义的RadioButton
自定义的RadioButton:可以调节选中框与字体的距离,可以设置选中框的位置效果如下:一.在strings.xml里加入下列代码 二、自定义的RadioButtonpackage com.example.customradiobutton;import andr
2017-10-26 16:39:16
1598
原创 android使用AIDL实现进程间的通信
一、服务端的工程如下:1.建一个包,其中包含一个IPerson.aidl文件package com.zhw.aidl;interface IPerson { String add(int value1,int value2);}2.新建一个类PersonService继承Service (1) 重写onBind()方法;(2)new一个IPerson.Stu
2017-08-14 21:30:07
247
HarmonyOs基础组件的代码示例
2025-04-02
HarmonyOS 工程目录结构PDF
2024-11-06
AChartEngine
2016-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人