Android
文章平均质量分 57
Android相关的技术文章
YD-10-NG
杨迪龙
展开
-
Android studio 常用的插件推荐
Android studio 常用的插件推荐前言ADB IdeaADB Wi-FiBugKotlinDocumentJSON To Kotlin Class (JsonToKotlinClass)完事前言每次换电脑,或者重装系统,都会忘记自己之前装了哪些插件,所以开这篇文章进行记录,也方便朋友参考。ADB Idea链接:https://plugins.jetbrains.com/plugin/7380-adb-idea看上面的截图也能明白,其实就是连上调试设备后,能直接通过快捷方式,处理掉原创 2021-03-16 16:15:05 · 661 阅读 · 0 评论 -
jetpack compose 输入框密码样式,和点击键盘下一步切换输入框
jetpack compose 输入框密码样式,和点击键盘下一步切换输入框前言代码输入框密码样式虚拟键盘右下角显示下一步,切换焦点完事前言在做登录页的时候,需要用户在输入账户后,能点击键盘上的下一步,跳转到密码输入框;首先需要参考我的上一篇文章:jetpack compose 最基础的输入框,带占位文本样式设置,是否获取焦点拿到能切换焦点的输入框控件代码输入框密码样式@Composablefun LoginInput( modifier: Modifier = Modifier,原创 2021-11-02 11:26:30 · 1561 阅读 · 0 评论 -
Android Jetpack Compose 沉浸式/透明状态栏 ProvideWindowInsets SystemUiController
Android Jetpack Compose 沉浸式/透明状态栏 ProvideWindowInsets SystemUiController前言代码解析添加依赖FitsSystemWindows透明状态栏内容不挡住状态栏完事前言从现在开始疯狂学习Jetpack Compose,经过一早上的研究带来第一篇文章,沉浸式/透明状态栏代码懒得看研究过程的朋友可以直接参考最终结果:import android.content.Intentimport android.os.Bundleimport原创 2021-08-03 14:04:09 · 11194 阅读 · 13 评论 -
Android Jetpack Compose 下拉刷新 SwipeRefresh
Android Jetpack Compose 下拉刷新 SwipeRefreshJetpack Compose前言参考使用方法添加依赖代码自定义转圈圈完事Jetpack Compose更多与Jetpack Compose相关的文章:Android Jetpack Compose 沉浸式/透明状态栏 ProvideWindowInsets SystemUiControllerAndroid Jetpack Compose 可滚动列表 LazyColumn前言下拉刷新也是一个在移动端设备上常用的操原创 2021-08-09 15:30:15 · 2186 阅读 · 0 评论 -
Android jetpack compose 绘制圆滑渐变色折线图,可点击选择X轴坐标及其相关Y轴值
Android jetpack compose 绘制圆滑渐变色折线图,可点击选择X轴坐标及其相关Y轴值前言代码依赖实现配色代码UI代码完事前言当前时间节点下,jetpack compose确实太新了,想找个好用的折线图轮子都没找到,只好自己摸索来做了。代码依赖https://github.com/D10NGYANG/DLDateUtilhttps://github.com/D10NGYANG/DLStringUtil只是拿两个字符串显示转换的方法而已,可以不依赖的实现配色代码/* 主题原创 2021-12-07 16:58:19 · 1439 阅读 · 0 评论 -
jetpack compose 最基础的输入框,带占位文本样式设置,是否获取焦点
jetpack compose 最基础的输入框,带占位文本样式设置,是否获取焦点前言代码前言不知不觉,已经使用jetpack compose开发了一个完整的android项目了,随着项目结束,将逐渐将遇到的难点或有意思的地方分享出来。今天分享第一个点,就是jetpack compose提供的输入框TextField,无法满足左右间距为0的UI要求,那就实现一个最基础的输入框,只有输入的地方,然后能自定义占位文本样式,以及是否获取到焦点。代码/** * 基础输入框 * @param value原创 2021-11-02 11:11:32 · 1862 阅读 · 0 评论 -
jetpack compose Button 去除内边距
jetpack compose Button 去除内边距前言Button内边距解决完事前言略Button内边距直接使用Button时,在Text文本与外边框之间会有个默认距离。当UI设计的距离小于默认距离时,我们就得将这个默认距离取消掉。Button控件有个contentPadding的参数,但是我们将其设置成PaddingValues(0.dp)仍旧无效。解决将contentPadding设置成PaddingValues(0.dp)后还需要修改modifier。将modifier修改成原创 2022-01-07 11:26:53 · 1940 阅读 · 0 评论 -
Android jetpack compose 全屏显示网络图片,可缩放拖拽,双击还原,单击关闭
Android jetpack compose 全屏显示网络图片,可缩放拖拽,双击还原,单击关闭前言依赖代码使用完事前言jetpack compose 真的是个好东西,以前老费劲才能弄出来的效果,用它几行代码就能实现了,真香。依赖我这边加载网络图片使用的是coil,因为它出了兼容compose的版本。// 图片加载implementation("io.coil-kt:coil:1.4.0")implementation("io.coil-kt:coil-compose:1.4.0")代码原创 2021-12-10 15:51:34 · 4698 阅读 · 2 评论 -
Android kotlin 将Base64字符串转换成Bitmap,并在jetpack compose的Image控件中显示
Android kotlin 将Base64字符串转换成Bitmap前言代码将Base64字符串转换成Bitmap在jetpack compose的Image控件中显示Bitmap完事前言后端返回的验证码图片是Base64字符串,APP得将其转换成Bitmap,然后展示出来。下面的字符串就是举例:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG8AAAAkCAIAAAAIOPOYAAALeUlEQVR42u2aC3BTVRrHeYkg6rA466w6原创 2021-11-02 11:38:58 · 3007 阅读 · 1 评论 -
Android Jetpack Compose 可滚动列表 LazyColumn
Android Jetpack Compose 可滚动列表 LazyColumnJetpack Compose前言LazyColumn使用方法完事Jetpack Compose更多与Jetpack Compose相关的文章:Android Jetpack Compose 沉浸式/透明状态栏 ProvideWindowInsets SystemUiController前言这是一个比较简单的知识点,但是在当前时间2021/08/03,在搜索引擎上还没能快速搜索到相关信息,所以贡献一下自己的了解。La原创 2021-08-03 17:58:51 · 2943 阅读 · 0 评论 -
jetpack compose 侧边滑动选择A~Z库 DLSideBar 仿微信国家或地区代码选择
jetpack compose 侧边滑动选择A~Z库 DLSideBar 仿微信国家或地区代码选择前言截图使用说明Github完事前言在19年的时候,我开发了一个UI库,DL10SideBar,用于做侧边滑动选择的。在博客上得到了6个收藏,2000多次阅读。在Github上也有22个stars和8个forks。小弟不才,算是我输出的内容里,比较受关注的部分之一了。现在出了jetpack compose,生态还比较野蛮,但未来肯定是jetpack compose的,所以基于这些,我花了一下午的时间原创 2021-12-30 17:52:38 · 1107 阅读 · 0 评论 -
android 右滑缩小页面(带阴影背景)侧边栏逐渐变大(带demo)
android 右滑缩小页面(带阴影背景)侧边栏逐渐变大前言最终效果实现过程一、自定义控件二、写侧边栏的布局三、写主页的布局最后、重头戏GitHub前言在一次项目开发中,遇到UI给的设计图是左侧滑,滑出菜单,我一看还挺简单的,网上挺多这种控件但是,真的实现的时候发现网上的很多都不太适合,最类似的就是仿QQ6.0的。本来以为有现成的轮子,现在只好自己动手了。参考的控件是SuperSlidin...原创 2019-03-12 15:28:49 · 1408 阅读 · 1 评论 -
Android 详解实现全局右滑返回 仿IOS(带demo)
Android 详解实现全局右滑返回 仿IOS前言虽然现在好多手机都有了全面屏手势,但还有很大一部分用户的Android设备没有全面屏手势的,而IOS的端一直以来都有一个备受好评的功能 全局右滑返回 。而且很多时候开一个项目,会有Android和IOS版本的同时进行,而设计师一般的原型都会根据IOS设备来做,而这个时候,这种IOS固有的操作逻辑,会使得用户在Android端产生不适应感。所以...原创 2019-03-12 17:33:54 · 1614 阅读 · 4 评论 -
Android 自定义组合控件之标题栏DLTittleBar
Android 自定义组合控件之标题栏DLTittleBar前言最终效果第一步、自定义属性第二步、自定义布局预览第三步、自定义控件使用Github前言android自带的tittle基本只会在demo里出现,99.99%的项目里,tittle bar都是要重新写的,然后app的theme style 首先就会改成NoActionBar。每个项目里的tittle bar基本都会保持同一种设计风...原创 2019-03-19 20:24:30 · 344 阅读 · 0 评论 -
Android 类遥控器圆形控件 扇形按钮 带中间按钮
Android 类遥控器圆形控件 扇形按钮 带中间按钮前言效果图使用方法添加依赖在布局中使用参数设定设定是否有中间按钮设定正常情况下的中间按钮的背景颜色设定中间按钮的圆圈描边颜色设定中间按钮的圆圈描边边框大小设定中间按钮被点击时的背景颜色设定中心按钮图片设定中心按钮的圆形半径设定菜单数量设定菜单偏移角度设定菜单图片设定是否画每个菜单扇形到中心点的直线设定是否画每个菜单扇形到中心点的直线设定菜单正常...原创 2019-04-10 19:47:03 · 4359 阅读 · 6 评论 -
Android 简单易用的SideBar 快速定位侧边栏A~Z 仿微信国家或地区代码选择
Android 简单易用的SideBar 快速定位侧边栏A~Z 仿微信国家或地区代码选择前言效果使用方法demo前言很多项目里都会用到快速定位侧边栏,好比如联系人列表界面、城市列表等;所以为了方便,我就自己打包了一个控件依赖库,方便自己使用也方便别人使用;效果普通图片:GIF图:使用方法Step 1. Add the JitPack repository to your bui...原创 2019-04-01 20:18:24 · 3997 阅读 · 2 评论 -
Android 自定义View制作彩虹调色圆环
Android 自定义View制作彩虹调色圆环前言绘制彩虹圆环原理代码获取触摸点颜色原理分析代码完整代码使用方法完事前言在上一篇文章中,我做了个直接使用图片制作的彩虹调色圆环Android 利用图片取色法巧妙制作彩虹调色圆环这一篇就来介绍一下怎么自定义控件来达到这种效果绘制彩虹圆环原理首先我们根据获取到的空间宽高,确定一个绘制的矩形空间RectF,矩形的左上角为坐标(0,0)点;RectF的中心点就是我们画圆的中心点,半径就是RectF的宽的一半减去描边宽度的一半;利用SweepGra原创 2020-10-13 11:52:19 · 679 阅读 · 0 评论 -
Android 自定义控件之圆形页面指示器CirclePageIndicator带划动效果
Android 自定义控件之圆形页面指示器CirclePageIndicator带划动效果前言感谢效果图目标流程自定义属性自定义默认属性自定义接口创建控件类继承View声明属性变量初始化属性信息测量布局绘制布局记录变化信息复写自定义接口使用前言在app首次打开的指导页面和app内一些左右翻动的列表里经常会需要的一个页面指示器,像一般手机桌面也会有一个翻页的页面指示器,这次我们就来定制一个。...原创 2019-03-21 19:24:20 · 1633 阅读 · 0 评论 -
android zxing demo 运行测试扫描生成二维码
android zxing demo 运行测试扫描生成二维码前言下载新建一个工程打开下载的zxing工程文件目录迁移代码更改包名编译真原创 2019-05-27 10:42:18 · 1178 阅读 · 0 评论 -
Android 解决hellocharts与ViewPager滑动冲突以及有且仅有一组数据时不显示的问题
Android 解决hellocharts与ViewPager滑动冲突以及有且仅有一组数据时不显示的问题前言hellocharts与ViewPager滑动冲突解决方法有且仅有一组数据时不显示解决方法完事前言hellocharts也很长一段时间没有更新维护了,地址在这里:https://github.com/lecho/hellocharts-android我最近的使用中就遇到了两个问题:hellocharts与ViewPager滑动冲突有且仅有一组数据时不显示hellocharts与View原创 2020-06-18 17:05:11 · 301 阅读 · 0 评论 -
Android 数据库查看工具Stetho使用介绍
Android 数据库查看工具Stetho使用介绍前言使用工具使用说明添加依赖注册声明查看数据库注意完事前言毫无疑问,在做数据库开发的时候,开发人员总想能实时看到数据库的操作是否成功,或者写入的内容是否按照自己的想法正确写入。使用工具StethoChrome浏览器 (可能需要科学上网工具)使用说明添加依赖compile 'com.facebook.stetho:stetho:1.5...原创 2019-10-16 09:48:34 · 290 阅读 · 0 评论 -
android xUtils3网络请求工具post、get方法 根据不同格式(UTF-8等)读取返回信息
android xUtils3网络请求工具post、get方法 根据不同格式-UTF-8等-读取返回信息有点东西添加依赖配置网络权限初始化getpost完事有点东西xUtils3是个功能类别、业务实现比较多的框架,但是我一般只使用它的网络请求服务,看中的是它能够满足我上传大文件的需求以及读取返回信息时能够按照不同的格式读取,如UTF-8/GBK之类的。下面简单介绍下他的使用方法,更多信息可参考...原创 2019-03-25 18:31:55 · 1069 阅读 · 1 评论 -
Android 仿IOS拖动页面越界回弹效果,使用SmartRefreshLayout
Android 仿IOS拖动页面越界回弹效果,使用SmartRefreshLayout前言效果图流程添加控件依赖初始化样式在布局中使用最后感谢前言如果一家公司要同时开发IOS端客户端和Android端客户端。那么设计那边肯定根据IOS的来做原型。就算不是,测试大爷测试的时候也会告诉你。两边效果不一样,你改一下…不过,不可否认IOS端的动画效果真的好看。。。最常见需要和iOS端统一的,不然...原创 2019-03-23 17:49:15 · 3882 阅读 · 0 评论 -
Android 最好用的沉浸式状态栏和沉浸式导航栏管理
GitHubImmersionBarandroid 4.4以上沉浸式状态栏和沉浸式导航栏管理,包括状态栏字体颜色,适用于Activity、Fragment、DialogFragment、Dialog,并且适配刘海屏,适配软键盘弹出等问题,一句代码轻松实现,以及对bar的其他设置,详见README,http://www.jianshu.com/p/2a884e211a62说明本系列文章用于记...原创 2019-03-15 15:47:51 · 1321 阅读 · 0 评论 -
android 仿IOS添加小组件的拖拽排序列表,使用SwipeRecyclerView
android 仿IOS添加小组件的拖拽排序列表,使用SwipeRecyclerView前言干活找到合适的轮子添加依赖编写布局设置越界滚动初始化数据和点击事件创建侧滑菜单和点击菜单事件监听拖拽,更新UI监听触摸修改背景Github完事前言听公司开发说,IOS的拖拽排序列表竟然是自带的控件。。。这也太省事了。。。下图是IOS的添加小组件页面:下图是我最终的仿造品:下面是操作动图:干...原创 2019-08-06 15:44:25 · 1409 阅读 · 0 评论 -
android 扫描二维码 zxing-android-embedded 库使用
android 扫描二维码 zxing-android-embedded 库使用前言使用方法导入依赖硬件加速修改布局填业务完事前言扫描二维码,我一直用的都是zxing的demo里的工程魔改出来的。但是他的demo始终有两个问题,一个是近距离扫描不成功,一个是竖着显示的时候页面预览画面会拉伸。在百度了好久都没有找到适合V3.3.3版本的解决方案,要么就是当前版本已经没有了以前版本的某些方法和类文...原创 2019-06-18 14:17:24 · 2868 阅读 · 3 评论 -
Android SQLite数据库导出/导入Excel
Android SQLite数据库导出/导入Excel前言框架使用方法添加依赖声明权限导出数据库到Excel声明实例配置导出内容导出监听导入Excel到数据库声明实例导入监听混淆完事前言最近在做一款记账软件,需要备份和导入的功能,所以想到了用Excel表来存储。框架androidmads/SQLite2XL使用方法这是一个轻量化库用来转换SQLite数据库为Excel和转换Excel中...原创 2019-10-16 09:20:42 · 2996 阅读 · 1 评论 -
Android 一行代码完成startActivityForResult+回调处理+协程 InlineActivityResult 使用方法和原理解析
Android 一行代码完成startActivityForResult+回调处理+协程 InlineActivityResult 使用方法和原理解析前言InlineActivityResult使用方法原理解析总结完事前言最近项目逐渐转换到Kotlin+Jetpack+协程的开发模式,这种顺序事件写法深得我心,实在是太方便了,再也不用嵌套无数个回调,或者一个任务却写了跳来跳去实现代码,回头看的时候实在太恶心人了,到处写注释,真的怕自己都能忘了。但是,startActivityForResult这个AP原创 2020-09-09 16:04:59 · 797 阅读 · 0 评论 -
Android LinearSnapHelper+RecyclerView实现滚动列表固定卡在第一个Item
Android LinearSnapHelper+RecyclerView实现滚动列表固定卡在第一个Item前言LinearSnapHelper+RecyclerView前言先上效果图看图能猜到什么效果吧,就是一直选中最左侧的日期,懒得截GIF了。LinearSnapHelper+RecyclerView理论上需要使用LinearSnapHelper+RecyclerView的,但是想偷个懒,直接使用做好的轮子。https://github.com/TakuSemba/MultiSnapRec原创 2020-06-18 17:47:40 · 1900 阅读 · 0 评论 -
Android EventBus 混淆规则
Android EventBus 混淆规则转载来源规则转载来源android EventBus 3.0 混淆配置规则-keepattributes *Annotation*-keepclassmembers class * { @org.greenrobot.eventbus.Subscribe <methods>;}-keep enum org.greenrob...转载 2019-07-15 17:06:39 · 1222 阅读 · 0 评论 -
Android 二进制、10进制、16进制互相转换
Android 二进制、10进制、16进制互相转换前言代码二进制转10进制10进制转二进制10进制转16进制16进制转10进制二进制转16进制16进制转二进制完事前言百度出来的Android 进制转换,翻了好几页还是用的java的方法,但其实,Android本身就有API可供使用。代码二进制转10进制String two = "0001";int ten = Integer.parse...原创 2019-07-29 08:37:55 · 13933 阅读 · 0 评论 -
Android 读取assets资源里的JSON文件
上代码/** * 读取assets资源文件夹下的JSON文件 * @author dlong * created at 2019/3/26 11:55 AM */public class ReadAssetsJsonUtil { public static JSONObject getJSONObject(String fileName, Context context){...原创 2019-03-26 18:32:02 · 2026 阅读 · 4 评论 -
android Map遍历的四种方式
android Map遍历的四种方式1234来源1// 一、推荐只用value的时候用,都懂的。。。 // Map.values()遍历所有的value,不遍历key for (String v : map.values()) { System.out.println("value= " + v); } 2// 二、取二次值,先取key再取value,建议只需要用...转载 2019-07-20 08:30:45 · 2086 阅读 · 0 评论 -
Android EditText输入框限制输入数值范围
Android EditText输入框限制输入数值范围前言解决逻辑完事前言在一些只需要数字输入的地方,经常会使用数字范围来限制输入的数字。具体可参考我这篇文章:android EditText输入框限制输入数字大小,一个页面内多次调整范围用这个方法,一直在各个项目中复制粘贴,如鱼得水。可是,有一天,我遇到了个需求是限制输入数值【10~80】直接复制筛选方法进去,结果表现出来就是只能是...原创 2019-08-27 16:03:46 · 4267 阅读 · 1 评论 -
Android 以字节流或字符流读取文件
Android 以字节流或字符流读取文件上代码上代码import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * 文件读取工具 * --------...原创 2019-04-11 11:14:22 · 2925 阅读 · 0 评论 -
Android 简单易用的原生定位API封装管理工具
Android 简单易用的原生定位API封装管理工具前言使用说明添加依赖初始化添加监听器注册反注册混淆感谢GitHub前言项目要求在首页要能显示当地的天气信息。好了,要定位。去找高德,一瞧,嘿,好麻烦啊!!!!注册key这一步就没耐心了。。。上帝啊,我只是要一个模糊定位,能到区信息就可以了,就要省市区三个信息,你要我搞这么多接入。。。太蛋疼好吧,救世主就锁定在了 Android...原创 2019-04-13 14:16:06 · 1715 阅读 · 0 评论 -
android 利用反射根据类包名获取类实例
android 利用反射根据类包名获取类实例前言上代码前言通俗来说,标题的信息为,假如我们拥有一个类的包名(“com.example.test.Tool”),其中类名就是“Tool”,而我们需要拿到这个类的实例。上代码拿到类名String className = Tool.class.getName();这时候拿到的就是“com.example.test.Tool”根据类包名拿到C...原创 2019-04-23 09:36:28 · 5023 阅读 · 0 评论 -
Android kotlin APP跳转系统指定位置 首页、电话、Wi-Fi、位置信息、浏览器等
Android kotlin APP跳转系统指定位置 首页、电话、Wi-Fi、位置信息、浏览器等前言代码完事前言常用跳转工具代码/** * 回到手机首页 */fun Activity.goToSystemHome() { val intent = Intent(Intent.ACTION_MAIN) intent.addCategory(Intent.CATEGORY_HOME) startActivity(intent)}/** * 打开系统拨打电话页面 *原创 2021-02-22 10:03:59 · 879 阅读 · 1 评论 -
Android 使用coil从图片网络地址得到bitmap
Android 使用coil从图片网络地址得到bitmap依赖代码完事依赖// 图片加载implementation("io.coil-kt:coil:1.4.0")代码import android.content.Contextimport android.graphics.Bitmapimport android.graphics.drawable.BitmapDrawableimport coil.imageLoaderimport coil.request.ImageReques原创 2021-12-07 16:13:05 · 2985 阅读 · 0 评论 -
Android ListView GridView的OnItemClickListener无响应
Android ListView GridView的OnItemClickListener无响应前言解决相关完事前言项目维护更新的时候,不知道改了啥,导致了GridView的OnItemClickListener事件无响应,瞬间懵逼修复一个bug,又多了一个bug?慌了慌了。打点和控件排查都没有问题,因为GridView还能更新item解决最后到了item的布局文件里,一个个控件的...原创 2019-04-16 16:07:49 · 212 阅读 · 0 评论