
Android
文章平均质量分 54
kanxue1.0
这个作者很懒,什么都没留下…
展开
-
基于ExoPlayer的自定义通知栏的音频播放服务
前言:在接手的项目中,有用到音频播放功能,而用到的库基本以及停止维护了(虽然也是基于exoplayer的库),但通知栏样式只有一种就是默认的,若遇到设计需要改,比较难,还需要拷贝库源代码进行修改,针对这一点,同时也为了更好的学习,于是就写了一个通用的带有自定义通知栏的音频服务,当然这也是基于exoplayer最新版本1.仓库引入//root/buildallprojects { repositories { ... maven { url 'https://j原创 2021-03-01 10:21:10 · 851 阅读 · 0 评论 -
Android Paging3.X与其协程库类重复问题
当引入//google分页库 无感知预加载implementation "androidx.paging:paging-runtime:3.0.0-alpha11"//viewmodel协程扩展库implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"build错误提示:Duplicate class kotlinx.coroutines.AbstractCoroutine found in modules原创 2021-01-18 16:08:36 · 554 阅读 · 0 评论 -
Android开发之路——canvas篇(一)(实现音乐App圆形图片以及圆形进度条风格的View)
先要知道BitmapShader:BitmapShader 就是用bitmap对绘制的图形进行渲染着色,其实就是用图片对图形进行贴图.构造函数如下:BitmapShader(Bitmap bitmap, Shader.TileMode tileX, Shader.TileMode tileY)第一个参数是Bitmap对象,该Bitmap决定了用什么图片对绘制的图形进行贴图。第二个参数和第三个参数都是Shader.TileMode类型的枚举值,有以下三个取值:CLAMP 、REPE.原创 2020-09-02 09:44:23 · 363 阅读 · 0 评论 -
Android 开发之路 ----------- 软键盘隐藏与弹出
/** * 隐藏软键盘 * @param context */public void hideInputWindow(Activity context){ if(context==null){ return; }//判断软键盘是否开启 final View v = ((Activity) context).getWindow().peekDecorView(); if (v != null && v.getWindowToken().原创 2020-08-04 15:55:59 · 145 阅读 · 0 评论 -
Android 开发之路——databinding 自定义view xml属性使用解决类符号找不到问题
在databinding使用中有时候会用到自定义view的一些属性比如 不需要在每次adapter中用Glide代码来加载图片,可以直接在绑定src图片地址之后自动的去加载图片那么就要用databinding自定义属性了千万不要忘记加上@BindingAdapter("定义的属性名称")这个注解要放在一个静态方法中 这个方法是实现自定义属性的方法,并且这个方法写在那个文件都不重要,重要的就是这个注解图片:上面是我根据圆角图片库自定义的databinding属性 imgpath在方法里实.原创 2020-06-30 19:34:41 · 1450 阅读 · 0 评论 -
Android开发之路-------遍历相册
某些场景下第三方的相册UI并不符合我们预期的要求所以我们必须自己遍历相册开发出相应的功能以及UI1.首先要取得相应的权限: <!-- 读取权限相册 拍照 --> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> &原创 2020-06-02 20:13:07 · 976 阅读 · 0 评论 -
Android开发之路------Glide图片加载框架的基本使用
1.Gilde加载动画(仅淡入淡出fade) Glide.with(mContext) .load(Uri.parse(rb.getThumb())) .transition(DrawableTransitionOptions.withCrossFade(100))//淡入淡出100m .into(holder.imageView);2.Gilde获取图片的Bitmap方式 两种:①. Gl.原创 2020-06-02 20:01:15 · 528 阅读 · 0 评论 -
Android开发之路-------图片旋转自适应
这种情况下的旋转适应大小其实主要就是对图片的bitmap内部进行修改 有用到矩阵类 MatrixMatrix中有一个方法postRotate此方法传入一个int类型的数值 表示旋转的角度deg代码://创建矩阵类Martix martix = new Martix();//旋转90度martix.postRotate(90)//oldBitmap 原始图片的bitmap 返回一个新的已经旋转90的bitmapBitmap newBitmap = Bitmap.createBitm..原创 2020-06-02 19:50:15 · 499 阅读 · 0 评论 -
Android开发之路--1
1.Android 9之后 网络请求需要加载适配文件:network_security_config.xml:<network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" overridePins="true" />原创 2020-05-21 12:57:46 · 211 阅读 · 0 评论