- 博客(43)
- 收藏
- 关注
原创 7、Copmose自定义颜色和主题切换
一起颜色的设置的都是在res/values/colors里面去做颜色, 但是当使用compose的时候,抛弃了使用了ui.theme底下的Color.kt和Theme.kt 但是默认使用的是MaterialTheme主题,里面的颜色字段不能定义,因此需要自定义这个:我先查看MaterialTheme 里面的颜色主题是怎么定义的,然后照葫芦画瓢。android官网 对应自定义的解释,可以根据官网来进行操作Compose 中的自定义设计系统@Stable......// 根据项目需要去添加字段。
2024-03-09 16:14:39 605
原创 kotlin图片合成和压缩
之前的方法是继承AsyncTask 在doInBackground 里面去做压缩的操作,然后用 publishProgress 切到主线程里面更新。新方法是在协程里的去做。
2024-03-09 15:45:49 534
原创 6、Compose 里实现 button按压效果处理
第一个 元素指定了在按钮按下时要显示的图片(button_pressed),并设置了 state_pressed 属性为 true。在 res/drawable 目录下准备两个图片文件,分别为按钮按下时的图片(button_pressed.png)和按钮正常状态下的图片(button_normal.png)。在 res/drawable 目录下创建一个 XML 文件(例如 button_background.xml),用于定义状态选择器。在布局文件中使用按钮,并将刚才创建的状态选择器设置为按钮的背景。
2024-01-18 14:26:38 670
原创 [Kotlin Flow] 2、使用flow,viewmodel间互相通信
ViewModelB 可以通过观察 dataFlow 来接收来自 ViewModelA 的数据更新。要使用 Flow 在两个 ViewModel 之间进行通信,可以创建一个共享的 MutableSharedFlow,并让一个 ViewModel 发射值到 Flow,另一个 ViewModel 观察 Flow 的值。在上述代码中,我们使用 collect 函数来观察 ViewModelB 的 dataFlow,并在协程范围内处理 ViewModelA 发送过来的数据。
2024-01-10 17:58:09 572
原创 [kotlin Flow] 1、实现 sendDelayMessage和 removeMessage功能, 延迟操作
要在 Kotlin Flow 中实现在等待处理旧值时,来新的值时删除之前的值,并继续等待一段时间处理新值的功能,可以使用 debounce 操作符和 MutableSharedFlow 来实现。请注意,debounce 操作符会在等待时间内收集最新的值,并丢弃掉在等待时间内到达的旧值。由于我们使用了 debounce,当新值到达时,旧值会被删除,并等待 350ms 处理新值。然后,我们使用 delay 函数等待 500ms,以确保在 350ms 后发送一个新值到共享流中。
2024-01-10 09:55:23 454
原创 5、Compose 里实现 Slider气泡
2、写两个Slider组件用Box包住,将底下那个Slider的thumb自定义后往上移动。1、是写一个box布局根据Slide拖动计算位置,实现气泡。
2023-12-29 16:36:45 603
原创 4、Compose 里实现 LoadingCircularProgress
【代码】4、Compose 里实现 LoadingCircularProgress。
2023-12-25 19:48:59 551
原创 3、Compose 里自定义Switch
Compose 里自定义Switchimport android.annotation.SuppressLintimport androidx.compose.animation.core.animateFloatAsStateimport androidx.compose.foundation.backgroundimport androidx.compose.foundation.clickableimport androidx.compose.foundation.interaction.M
2023-12-23 15:54:02 748
原创 2、Compose 里自定义Button
) {Text(Button(),}) {Image(modifier: 大小为30contentPadding:button里的内容没有padingshape: 形状colors: 颜色 ButtonDefaults.buttonColors 有四个参数onClick:点击事件Image:填充一个图形,也可以是其他例如TextViewbutton源码/*** post.* content*/= null,) {.value?
2023-12-01 09:13:42 389
原创 1、Compose 里Text组件添加的字体轮廓 使用 TextStyle的drawStyle
在 compose 中,TextStyle里面有个drawStyle 自定义项,可以将Stroke的值赋给 drawStyles使其将显示比字体大一号的效果即轮廓。
2023-11-07 18:00:48 329
原创 Android-自定义dialog
在项目中, app没有用原生的Dialog去弹起一个弹窗,在本地new 一个 PhoneWindow去实现dialog的功能,代码如下
2023-08-14 17:52:44 725
转载 用JpegLib压缩YUV
此处的YUV数据指I420,I422应该做一下修改也能用,这个我没有测试。Jpeg的宽度、和高度可以是任意的,原来在网上找的都只能是16的倍数才行。函数实现如下:参数说明:Filename:jpg文件名字yuvData:输入的yuv缓存地址quality:压缩质量 1-100image_width:图像宽度image_height:图像高度#include <jpeglib.h> //#include <jpeg_mem_dest.h> static int
2021-12-06 11:24:44 516
原创 Android Studio导入系统源码
使用Android Studio导入系统源码在下载好代码之后,我们需要对代码进行编译操作这里需要执行以下四条命令: 1. "source build/envsetup.sh" (source可以用 . 代替,即". build/envsetup.sh") 2. "lunch",并选择要编译的项目 3. "make idegen -j4" (这里的 -j4 表示用4线程来编译,可以不加) 4. "sudo development/tools/idegen/idegen
2021-12-06 10:14:25 3025
转载 Android 图片与Byte[]数组之间的相互转换
转载大佬一、将图片转换成byte[]数组public static byte[] bitmap2Bytes(Bitmap bitmap){ if( null != bitmap ){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); //注意压缩png和jpg的格式和质量 100 是质量
2021-12-02 15:24:49 4553 1
原创 ubuntu解压
解压ubuntu 下rar解压工具安装方法:ubuntu 下rar解压工具安装方法:压缩功能安装 sudo apt-get install rar 卸载 sudo apt-get remove rar解压功能安装 sudo apt-get install unrar卸载 sudo apt-get remove unrar——————————————.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是
2021-09-04 22:22:56 249
原创 AndroidManifest.xml 文件标签介绍
AndroidManifest.xml 文件标签介绍application应用声明android:allowTaskReparenting:是否应用中的activity是否能从启动时的task移动到taskandroid:allowbackup:应用备份android:backupAgent:备份代理类名android:banner:广告条,比如用于AndroidTV主屏上android:debuggle:是否能够被debugandroid:description:应用描述an
2021-08-26 11:34:54 587
原创 Debian, Ubuntu下安装 Beyond Compare
Debian, Ubuntu 下安装 Beyond Compare官网链接地址Debian, UbuntuBeyond Compare 4.1 and newer require matching package and OS architecture (amd64.deb or i386.deb). Beyond Compare 3 - 4.0.7 require the i386.deb package on all supported versions of Debian and Ubuntu
2021-08-20 09:45:48 383
原创 Ubuntu安装及其后续
给自己看的安装步骤1、下载去Ubuntu官网下载你需要的Ubuntu版本,下载一个rufus工具,并且一个不小于8G的U盘,U盘格式为fat32。2、电脑前期插入进入biso界面,将启动usb启动打开,并将其移动到最上面,是为了重启从U盘启动,之后保存重启3、安装主要是分区swap分区 : 如果你的电脑内存小于8G,设置为你的内存2倍,如果不是,那就跟你的一样大小或者你的内存+2G左右/分区:之后全部的全部给跟分区,如果想要自己单独给home分区,/分区100G (实际跟你电脑,自行配置),
2021-08-06 10:55:22 155
原创 View事件分发
View事件View的事件分发 即触摸事件的传递与处理分析对象 MotionEventdispatchTouchEvent(MotionEvent e):进行事件的分发 可进行内部拦截onInterceptTouchEvent(MotionEvent e):进行事件的拦截 外部拦截onTouchEvent(MotionEvent e):处理点击事件事件分发事件分发的顺序为Activity -> Window -> 子View事件处理的顺序为View -> Windo
2021-07-14 14:16:01 89
转载 Android 多进程同时打开相机
转载:多进程打开相机只要满足一定的条件是可以多进程打开相机1、CameraService打开相机的入口Status CameraService::connectDevice( const sp<hardware::camera2::ICameraDeviceCallbacks>& cameraCb, const String16& cameraId, const String16& clientPackageName,
2021-07-08 13:45:22 3765
转载 SEAndroid学习
需求:很简单,一个system进程要往ServiceManager中添加服务。没写对应的SELinux策略时遇到的错误:02-21 10:37:25.662 484 484 E SELinux : avc: denied { add } for service=car_model_service pid=10283 uid=1000 scontext=u:r:system_app:s0 tcontext=u:object_r:default_android_service:s0 tclass
2021-05-12 11:07:36 887 1
原创 Ubuntu测网速
Ubuntu测网速我们利用ifconfig里发接受字节和发送字节,分两次取值然后在除以间隔时间,获得那段时间的网速代码:up_time1 :发送字节 ====》 上传down_time1 : 接受字节 ====》下载#! /bin/bashLANG=""while truedo #第一次获取的字节 up_time1=`ifconfig $1 | grep "bytes" | awk '{print $6}' | head -n1 | tr -cd "[0-9]"
2021-04-01 10:22:53 335
原创 aidl 回调 RemoteCallbackList
主要作用是可以把多个callback保存到列表里,在合适的时机同时回调,也可以防止重复的调用相同的任务,只保证你需要的一个结果回调,它的源码也非常的简单:package android.os;import android.util.ArrayMap;/** * 擅长 简单的持续性的一系列的远程接口的使用,尤其是Service对他的客户端的回调。 * 需要注意的是: * 使用的时候,请确保每一个注册的callback唯一性,这样可以在进程停止的时候,清空这些callback。 * 多线程请注
2021-03-30 14:16:07 1344 1
原创 Android service 启动 startForegroundService
startForegroundService在Android 8.0里 ,应用在后台的时候调用了Context.startService 此时会触发:java.lang.IllegalStateException: Not allowed to start service Intent我们需要改成:Context.startForegroundService()并且在Context.startForegroundService() 之后必须要调用Service.startForeground,
2021-03-30 11:24:45 3118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人