自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Android Compose 使用SwipeToDismiss实现滑动删除 及 解决轻扫(小范围快速滑动)触发删除问题

Android Compose 使用SwipeToDismiss实现滑动删除 及 解决轻扫(小范围快速滑动)触发删除问题

2023-09-07 09:28:51 677

原创 关于Android Compose Crossfade 的Bug和使用

这个Bug很奇怪,有时候会触发,有时候又不触发,最后发现好像是在运行期间对代码进行了修改然后重新安装就会出现这个Bug。anotherThing()函数会被重复执行log也会多次打印,如下。经过多次实验发现,只要是接口类型的就会触发这个问题。如果有大佬知道为什么,欢迎在评论区解答。

2023-03-09 20:33:15 192

原创 Android Jetpack Compose 1.3 你开始用了吗,来看看更新了什么吧!

Android Jetpack Compose 1.3 你开始用了吗,来看看更新了什么吧!

2022-11-04 12:48:17 1100

原创 Android Compose 音乐日记 练手小项目 配合Ktor使用

Android Compose 音乐日记 练手小项目

2022-10-26 12:12:18 949

原创 Android Jetpack Compose 播放器动画

Android Jetpack Compose 播放器动画

2022-10-12 22:40:37 461

原创 Android Jetpack Compose 底部弹窗,拍照,选择文件

Android Jetpack Compose 底部弹窗,拍照,选择文件

2022-10-12 22:39:11 2658

原创 Android Compose日期选择器

由于官方还没有推出日期选择器,我们只能自己制作,或者通过AndoirdView和DatePickerDialog。下面是我自己制作的一个Compose日期选择器,以下都只能用作学习,还达不到项目使用需要的效果。将JitPack存储库添加到您的构建文件中(项目根目录下build.gradle文件)allprojects { repositories { … maven { url ‘https://jitpack.io’ } } }添加依赖项 dependencies { implementation

2021-12-18 18:01:44 2690 2

原创 Android Compose 简易日历

初学Compose肯定要做些东西来熟悉,接下来我来分享我做的一个简易日历。首先推荐一个网站,Accompanist是一组库,旨在用开发人员通常需要但尚不可用的功能来补充[Jetpack Compose。]。https://google.github.io/accompanist/pager/然后是一个库,帮助我们在compose里创建和管理viewmodelimplementation(‘androidx.lifecycle:lifecycle-viewmodel-compose:2.4.0’)首先

2021-11-30 14:03:25 2380

原创 Android MaterialCardView使用问题

本来想学一些MaterialCardView的用法,结果网上的信息太少了,很多都出自同一篇文章抄来抄去。故本篇记录自己学习MaterialCardView的过程及MaterialCardView的一些使用方法,以下全部使用kotlin演示。一、checkedIcon图标显示问题要想图标显示必须设置,缺一不可。但当设置了点击事件setOnClickListener后可不设置第一个属性,会自动判断并帮你设置。二、设置波纹颜色在属性在rippleColor中设置即可。三、icon的size调整

2021-10-10 18:22:09 583

原创 Android RecyclerView适配器控件点击异常或没反应问题(个人笔记)

Android RecyclerView适配器控件点击异常或没反应问题(个人笔记)编程时为了方便写了一个抽象类适配器(这种写法是对性能的浪费,不是正确写法,请不要模仿)。 只贴出问题代码,其他略 protected abstract void initData(View itemView, T t, int p); @Override public void onBindViewHolder(@NonNull @NotNull VH holder, int position) {

2021-09-22 11:18:26 1067

原创 Android安卓 Kotlin Coil图片加载状态监听,点击图片重新加载

在网了查了好久,也没有相关的文章,可能是我不会搜索吧…通过查看源码发现了coil设置状态监听方法。一、在ImageRequest里设置 b.imageView.load(d) { setHeader("Referer", "https://manhua.dmzj.com/update_1.shtml") //设置监听 listener(onError = { request, _ -> //设

2021-07-16 23:57:30 1197 2

原创 Android安卓 Compose LazyColumn 列表 实现网格列表

因为官方LazyVerticalGrid为不稳定版,所以我们不能长期依靠它。因此我们自己写一个网格列表,还能避免列表不能嵌套问题。写法如下: //要分为几列 val nColumns = 4 //rows 总共几行 val rows = (it.size + nColumns - 1) / nColumns LazyColumn() { items(rows) { r

2021-05-09 19:39:56 2269 4

原创 Android Kotlin作⽤域函数apply/with/run/also/let

Kotlin的作用域函数有5个之多,让人一开始都不知道怎么去用他们,下面我来用简单明了的例子来告诉你们他们的区别和适用场景。Kotlin标准库包含⼏个函数,它们的唯⼀⽬的是在对象的上下⽂中执⾏代码块。每个作用域函数有两个主要区别:引⽤上下⽂对象的⽅式和返回值。一、按对象的方式区分:run 、with 以及 apply 通过关键字 this 引⽤上下⽂对象。因此,在它们的 lambda 表达式中可以像在普通的类函数中⼀样访问上下⽂对象。适用于主要对对象成员进⾏操作(调⽤其函数或赋值其属性)的 lambd

2021-03-06 18:54:05 169 1

原创 Android DataBinding的正确用法

注意本文章不适合给未使用过DataBinding的人阅读一开始用databing大家可能都是怎么方便怎么来,但是学到后面就要开始合理使用了,使用MVVM架构时要遵循MVVM架构。下面用一个简单的例子来说明常见的错误。这个例子就是点击按钮后,Model中的likes就+1,然后刷新视图先建一个Model如下data class ObservableFieldProfile( val name: String, val lastName: String,

2021-03-05 22:29:55 694

原创 MPAndroidChart图例位置设置

今天做题发现网上的方法setPosition不存在,查了好久找不到,官方文档也是,只能自己看源码了,最后找到了设置图例位置的方法。如下代码: 源码默认 private LegendHorizontalAlignment mHorizontalAlignment = LegendHorizontalAlignment.LEFT; private LegendVerticalAlignment mVerticalAlignment = LegendVerticalAlignment.BOTT

2020-10-23 15:36:39 1444

原创 用DataBinding做RecycleView适配器(个人笔记)

用DataBinding做RecycleView适配器(个人笔记)使用方法第一步:继承并传入类型第二步:实例化并传入List,layout的Id,layout的variable的name,在控件里传入类的数据就可以了如何设置监听事件如何返回View全部代码/** * Created by Android Studio. * User: HuangWeiQiang * Date: 2020/9/22 * Time: 14:50 */public class DataBin

2020-09-22 15:43:11 409

原创 ViewPager切换的简单实现(个人笔记)

1.根据需求创建View,用集合把他们添加进去例:ArrayList<View> views = new ArrayList<>(); LayoutInflater layoutInflater = LayoutInflater.from(getContext()); View pager1 = layoutInflater.inflate(R.layout.p15_pager_1, null); views.add(pager1)

2020-06-06 00:45:08 160

原创 Volley的简单二次封装(个人笔记)

1.最重要最容易忽略的“注册”,在AndroidManifest中输入 name。例如:android:name=".Volley.VolleyApplication"2.创建3个类①public class NetworkUtils { private static NetworkUtils networkUtils; public static NetworkUtils getNetworkUtils() { if (networkUtils == null)

2020-06-06 00:31:37 290

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除