自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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的 view 的绘制

view的绘制

2023-08-23 18:49:17 310 1

原创 Android-自定义dialog

在项目中, app没有用原生的Dialog去弹起一个弹窗,在本地new 一个 PhoneWindow去实现dialog的功能,代码如下

2023-08-14 17:52:44 725

原创 Android camera使用C2D方法进行YUV转RGB耗时较久

camera c2d

2023-06-29 17:39:23 1598 1

转载 Android-EditText 中设计 Editor.java 的解释

Editor.java

2023-04-28 13:27:36 253

原创 Android-放大镜 解决EditText编辑框选中不显示放大镜问题

android 放大镜

2023-04-23 19:32:42 650

转载 Android开发——事件分发机制详解

Android开发——事件分发机制详解

2022-11-29 15:08:19 1124

转载 C++基础

C++

2022-10-31 14:47:16 194

转载 DRM应用程序进阶 (atomic-plane)

DRM

2022-08-05 11:18:54 317

转载 DRM应用程序进阶 (atomic-crtc)

Atomic Commit

2022-08-05 10:48:37 268

原创 最简单的DRM应用程序 (plane-test)

(DRM)Direct Rendering Manager

2022-08-04 11:10:16 578

原创 最简单的DRM应用程序 (page-flip)

(DRM)Direct Rendering Manager

2022-08-04 10:15:03 406

原创 最简单的DRM应用程序 (double-buffer)

(DRM)Direct Rendering Manager

2022-08-03 15:09:20 324

原创 (DRM) Direct Rendering Manager 学习

(DRM)Direct Rendering Manager 学习

2022-08-03 11:19:58 254

原创 最简单的DRM应用程序 (single-buffer)

(DRM)Direct Rendering Manager学习

2022-08-03 11:17:15 468

转载 Android 8.0系统源码分析--openCamera(HAL)启动过程源码分析(转载)

openCamera HAL

2022-06-16 11:41:33 561

转载 Android Camera 调用流程及其代码路径

camera调用流程

2022-06-16 10:15:58 866 1

转载 Android Camera原理之camera provider启动

camera provider

2022-06-15 17:26:15 1370

转载 用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关注的人

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