自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

文韬武略的专栏

我就是我,追求自由快乐的自我!

  • 博客(362)
  • 资源 (10)
  • 收藏
  • 关注

原创 Jetpack Compose 阻尼动画效果之SplineBasedDecay

SplineBasedDecay是 Jetpack Compose 中的一个函数,用于创建一个基于曲线衰减的动画效果。它通常用于创建平滑的动画效果,比如惯性滚动或惯性拖动的动画效果。

2024-04-12 14:49:45 245

原创 jetpack compose MutatorMutex

mutatormutex

2024-04-12 14:44:56 337

原创 Android文件选择器

Android 文件选择和问题解决

2024-01-08 17:57:57 491

原创 HarmonyOS首次尝试-HelloWorld

通过在鸿蒙社区查找解决办法,发现可能是API版本设置问题,还有创建时我选的是stage,导致无法使用更低的API 版本,所以又重新创建了个demo, 选择FA模式,API7。但是运行 hdc -c shell命令一直报错找不到设备就很离谱,明明studio都已经显示找到了,也能运行了。插上后,studio能显示连接上了手机设备,创建的demo使用的是API9,也就是当前的最新版本。3.0.0我猜的是API7吧,一运行又是报错,找不到设备。如果你没有配置 环境变量,会报错找不到命令,去配置就行。

2023-12-12 09:50:55 516

原创 Ubuntu中Gitlab + Gitlab-CI + Docker + Fastlane完成Android自动化编译和打包

Android开发过程中持续集成是一项非常重要和必要的工作。持续集成指的是通过自动化的方式将开发、测试和部署过程整合在一起,实现代码的自动构建和测试,并快速反馈给开发人员,从而加快软件开发周期,提高软件质量和稳定性。以下是持续集成的重要性和必要性:提高开发效率和质量:持续集成可以自动构建和测试代码,快速检测出问题,并及时反馈给开发人员,这样可以减少手动测试的工作量,提高效率和质量。降低错误率:持续集成可以避免由于手动构建和测试过程中的疏忽而引入错误,保证了代码的准确性和可靠性,降低了错误率。

2023-06-02 14:29:49 984

原创 git常用操作命令

git使用命令

2023-05-31 10:55:53 1031

原创 ubuntu虚拟机固定ip

在Mac电脑里安装了VMWare Fusion虚拟机,里面安装了Ubuntu系统。然后每次在使用gitlab的时候,会因为每次关机启动虚拟机后,ip地址会变化,导致每次都需要去配置gitlab的ip地址,不胜其烦呀。

2023-05-30 11:07:31 567

原创 Android暗黑模式适配

Android 暗黑模式适配,包括 View 和 Compose View 页面的适配

2023-02-23 14:20:36 1099 1

转载 Android灰色模式

Android灰色模式

2022-12-02 14:02:27 421

原创 ShapeableImageView黑边问题

ShapeableImageView黑边黑框

2022-10-27 16:11:56 487

原创 android 复制粘贴监听

android 复制粘贴剪切功能监听,键盘快速粘贴监听。

2022-08-24 10:04:08 2030

原创 Mac环境下安装Ruby

mac安装ruby

2022-06-30 16:44:48 7655

原创 android No virtual method xxx(XXXX;)

“No virtual method getTag(Ljava/lang/String;)” error when calling xxx。在我们项目就是,多个库引用了同一个库,但是各自引用改库的版本确不一致,导致的改问题。

2022-06-10 13:49:46 1680

原创 Gradle sync failed: Could not install Gradle distribution from xxx

最近升级了Android Studio,就开始编译报错:Gradle sync failed: Could not install Gradle distribution from ‘https://services.gradle.org/distributions/gradle-7.0.2-bin.zip’. (192 ms)明明就有这个版本的gradle,就是说找不到。最后发现是studio配置的问题!看配置图:然后再同步一下就OK了。...

2022-02-14 17:21:52 2893

原创 RecyclerView中带EditTextView问题

所有index位置使用helper.layoutPosition, 崩溃报错android Called attach on a child which is not detached。所有地方使用 helper.layoutPosition 直接数据越界。从data中获取数据使用helper.layoutPosition - headerLayoutCount,更新使用helper.layoutPosition。无法获取到helper实例的地方: index + headerLayoutCount

2022-01-07 18:01:00 929

原创 通知栏消息多种提醒方式

有时候我们需要在白天让我们的通知消息跟随系统,但是夜晚需要静默提醒,不去打扰用户。就需要对Notification进行不同的设置。下面上代码,兼容不同版本:fun createNotification(messageBean: PushInlineMessageBean) { val isDefaultDuration = System.currentTimeMillis() < DateTools.getTodayHourTime(23) &&

2021-07-22 13:58:26 839

原创 RecyclerView精确测量高度

仅支持LinearLayoutManager布局的RecyclerView.class LinearLayoutManagerOffset(context: Context?) : LinearLayoutManager(context) { private val childSizesMap = mutableMapOf<Int, Int>() override fun onLayoutCompleted(state: RecyclerView.State?) {

2021-06-30 14:10:49 1076

原创 Android 6.0 API

Android 6.0 (M) 为用户和应用开发者提供了新功能。本文旨在介绍其中最值得关注的 API。着手开发要着手开发 Android 6.0 应用,您必须先获得 Android SDK,然后使用SDK 管理器下载 Android 6.0 SDK Platform 和系统映像。更新目标 API 级别要进一步优化您的应用在运行 Android 的设备上的性能,请将您的

2021-06-30 14:06:13 371

原创 scrollview嵌入webview导致自动滚动

当我们在界面外层使用了ScrollView,内层又有WebView时,当进入界面后,会导致ScrollView自动滚动到webView刚好可见的位置。找了下资料,参考链接:https://stackoverflow.com/questions/9842494/how-to-prevent-a-scrollview-from-scrolling-to-a-webview-after-data-i

2021-06-30 14:03:55 277

原创 Gson的alternate

对多种属性名不一致的情况,需要用到 SerializedName 注解的另一个属性值alternate.public class User { @SerializedName(value = "height", alternate = {"Height", "mHeight"}) private int height; private int width;...

2021-06-30 14:02:10 708

原创 Android导出Crash日志

一行代码:adbbugreport搞定参考:https://developer.android.com/studio/debug/bug-report

2021-06-30 14:00:11 1196

原创 MPAndroidChart之K线MarkerView自定--MotionEvent事件传递

前沿最近在做k线的时候,需要做到两个图表的marker同步显示,如下:需要 MOVE 事件在两个图表之间很顺滑的触发,说白话就是,我在topChart上点击后开始move, 一直滑动到bottomChart后,需要直接响应bottomChart到touch事件,而不是继续在topChart上。所以我“禁止”了两个图表的点击事件监听,打引号是因为我还是给两个图表设置了touch监听事件,只是在onTouch的时候直接返回了false:override fun onTouch(v: V

2021-04-15 22:07:55 210

原创 Glide加载图片不显示

最近在做图片分享的时候,加载图片用的是Glide,但是我的图片是使用多个View拼接成的一个图片,这个时候图片一直不显示,查了下说是因为ImageView不可见,不会走回掉,所以没法显示。只要设置override(width, height)就可以了。...

2021-04-15 22:06:07 882

转载 android textview 使用SpannableString时ellipsize属性不起作用

android textview 使用SpannableString时ellipsize属性不起作用https://www.zhihu.com/question/52436308/answer/130588361

2021-03-23 19:54:57 834 1

原创 MPAndroidChart相关API使用说明

开源项目MPAndroidChart的相关使用说明,非常强大的一个开源库。https://github.com/PhilJay/MPAndroidChart1. xx.setViewPortOffsets设置图表图表位置,因为有时候我们的图表可能数值有被遮挡住的问题2. 设置左边Y轴在图表中完全显示首先设置 axisLeft.setPosition(YAxisLabelPosition.INSIDE_CHART)这个时候顶部和底部的刻度显示会被挡住部分,而且不是完全在

2020-11-02 14:56:42 849

原创 git stash操作

关于stash之前一直停留在 git stash save "" 和 git stash apply 这两个命令,今天不小心把 git stash apply 到一个错误的分支上了,趁机会赶紧学习一波 stash 。先说下 git stash apply 到错误分支的解决办法:1. 还原改分支上的修改,也就是 git stash apply 的内容删除2. 切换到目标分支3. git stash list 查看需要 stash apply 的节点4. git stash show x

2020-09-30 09:18:17 523

原创 WebView中H5样式调试

有墙,自行解决!1. WebView启动调试模式WebView设置 setWebContentsDebuggingEnabled(),该方法是私有方法,所以需要反射:private fun setWebContentsDebuggingEnabled(debug: Boolean) { try { val var2 = Class.forName("android.webkit.WebView") val var3 = array

2020-09-24 14:22:47 836

转载 RecylcerView精确滚动到底部

如果都是文本或者有一些静态图片等高度确定的item,RecyclerView的scrollToPosition或者smoothScrollToPosition滚动肯定是精准的。但是,当我们的item中有一些网络图片需要加载时,这个时候RecyclerView的xxx方法就无法精确滚动了,因为图片是异步加载的,滚动的时候图片可能还没加载完成,会影响RecyclerView的高度计算(图片高度确定的除外)。这个时候就得这么处理了:private void scrollToBottom(fi

2020-09-14 10:51:26 1040

原创 activity,fragment和fragment之前的数据传递

Fragment 使用频率越来越高,碎片化也越来越严重。这就导致了难免出现 Activity 和 Fragment ,Fragment 和 Fragment 出现通信。Activity ->Fragment:1. 缓存 Fragment 实例2.通过 FragmentManager3. 通过 EventBus4. 广播...Fragment->Activity:1. 通过接口2. 通过类型强制转换 (activity as? XX)3. 通过 Ev...

2020-09-14 10:50:28 218

原创 RecyclerView中局部刷新

最近在做聊天室相关内容,也就是类似于常见的聊天功能。其中就难免会显示每条消息的时间,如果类似于微信或者QQ时间显示日期或者具体的时间那还好说,今天的消息显示的是HH:mm,昨天的是“昨天HH:mm”, 更早的是的是"MM月:dd日HH:mm",跟当前时间比较时,显示的时间都是一个,不存在刷新的问题。但是,我们的显示是这样的:一小时内:xx分钟前一天内:xx小时前昨天::昨天 HH:mm前天:前天 HH:mm更早的: MM月dd日 HH:mm那么问题来了,如果是当天的消息,时.

2020-09-01 09:26:55 865

原创 Mac ubuntu搭建本地gitlab

前沿安装visualbox安装ubuntu设置ubuntu界面自适应窗口大小准备各种tool下载gitlab配置gitlab登录gitlab并修改密码生成ssh密钥创建项目拉取分支并提交修改The end....

2020-07-23 11:08:44 170

原创 TextView设置图片标签

在项目中,我们经常会碰到需要在TextView前面添加图片标签的需求,如果是文本一行就能显示的话,我们一般会使用TextView的setCompoundDrawables方法:drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), (drawable.getMinimumHeight())); v.setCompoundDrawables(drawable, null, null, null); text

2020-07-16 11:37:47 451

原创 TabLayout的Indicator自定义宽度

方法一设置Indicator的宽度<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:width="10dp" android:hei.

2020-05-19 14:43:14 1824 1

原创 BottomSheetDialogFragment中EditText问题

最近在做一个评论弹框的时候遇到两个问题:1.BottomSheetDialogFragment中的EditText有行数显示,当内容过多后,滑动内容和BottomSheetDialogFragment的上下拖动事件冲突了。解决办法:禁止BottomSheetDialogFragment的上下拖动功能设置回掉监听:override var mBottomSheetBehaviorCallback: BottomSheetBehavior.BottomSheetCallback? = object

2020-05-13 09:22:34 1480

原创 RecyclerView拖动动画

最近有个需求,当横向RecyclerView滑动到底部,不能滑动后,此时在拖动RecyclerView,需要显示底部一个动画效果,如图:然后很自然的去自定义RecyclerView。最后发现在拖动RecyclerView时,需要拖动一段距离后才能显示我的自定义布局,感觉半天拖动不出来底部布局,很卡点样子。而这个起始的拖动距离差一直是25,而我打印了系统最小滚动距离ViewConfigu...

2020-05-05 11:33:12 585 2

原创 解决CoordinatorLayout中RecyclerView抖动问题

待写相关链接:https://www.jianshu.com/p/b987fad8fcb4?tdsourcetag=s_pcqq_aiomsg

2020-04-03 16:38:27 2523 4

原创 RecyclerView单界面实现多界面效果

1.前沿我们的产品经常会出现这样的界面:

2020-04-02 14:38:25 617

原创 自定drawable

自定drawable的时候,可能会遇到各种奇葩的需求,但是我们可以通过自定义一个selector.xml文件来实现。比如:自定义<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <it...

2020-03-19 20:47:08 119

原创 判断NavigationBar是否显示,获取屏幕高度

1.判断NavigationBar是否显示首先看几组数据vivo-X21A: screenRealSize : 2280 , screenHeight : 2201, statusBar : 84, navigationBar : 126(Android9导航栏一键)vivo-X21A: screenRealSize : 2280 , screenHeigh...

2020-03-04 13:44:44 596 2

转载 沉浸式布局下,EditText被输入法挡住问题

项目中遇到的一个问题,解放方法:https://blog.csdn.net/qq_34161388/article/details/89101442,感觉博主的实践。

2020-03-03 14:19:41 308

connect.apk

用于安装在设备或手机上,让电脑能够通过adb远程调试手机或设备

2018-09-19

connect-apk

用于安装到已经root了的机器上,用于开启adbd端口5555,才能用adb connect ip命令连接

2018-09-19

onTouch demo

在平常开发中,我们经常会遇到点击事件冲突的情况,或者在面试中被问及,那么下面我们来看下onTouch事件到底是怎么回事。

2017-05-10

Hello-jni-ndk

jni层和java层代码的互相调用demo 相关说明见我的博客:http://blog.csdn.net/fwt336/article/details/52296927

2017-03-03

RoundProgressBar

自定义进度条

2016-10-31

jni开发源码

http://blog.csdn.net/fwt336/article/details/52296927 文章源码

2016-08-24

fragmentargs

fragmentargs demo

2016-08-09

设计师测量文本行距

由于设计师在标注段落行距时,测量出来的行距不标准,或者说不精确,为什么呢?因为他们只能顶着上下两行文字进行行距的测量,所以量出来就不准了。你又或许会说,那就让他上下空出几个像素来测量不就准确了吗?但是,具体又该空出多少像素呢?老板的要求是“最多1个像素的误差,或者根本就不能有误差”,我要撞死了去!所以就只能自己写demo来研究研究了。

2016-06-23

viewpage切换动画

viewpage切换动画,包括了缩放效果、alph透明度效果、选择效果和移动效果。解决了安卓3.0以下版本的不兼容问题。

2016-05-13

Snake Eclipse

基于eclipse的贪吃蛇游戏,添加到eclipse中运行就可以了

2012-11-06

空空如也

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

TA关注的人

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