自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HarmonyOS APP开发入门3——组件(三 Image组件)

在Project窗口,打开“entry > src > main > resources > base > media”,拖动所需图片文件添加至media文件夹下,以“plant.JPG”为例。我们既可以在XML中创建Image,也可以在代码中创建Image。图片(Image)是用来显示图片的组件。当然也有id,长、宽、高等。

2024-09-22 17:14:04 255

原创 Android面试:两个Activity之间如何传递参数?

return 0;那我们为什么要考察对方会不会用Parcelable呢?先看一下这Parcelable和Serializable的区别:Serializalbe会使用反射,序列化和反序列化过程需要大量I/O操作,Parcelable自已实现封送和解封(marshalled &unmarshalled)操作不需要用反射,数据也存放在Native内存中,效率要快很多。

2024-09-22 17:05:17 1043

原创 Android进阶:自定义视频播放器开发(上)_android开发获取当前播放器内核

如果开发人员不对SurfaceHolder进行维护,会出现最小化程序后,再打开应用的时候,视频的声音在继续播放,但是不显示画面了的情况,这就是因为当SurfaceView不被用户可见的时候,之前的SurfaceHolder已经被销毁了,再次进入的时候,界面上的SurfaceHolder已经是新的SurfaceHolder了。和SurfaceView不同的是,它不会在WMS中单独创建窗口,而是作为View hierachy中的一个普通View,因此可以和其它普通View一样进行移动,旋转,缩放,动画等变化。

2024-09-22 15:45:17 1061

原创 CSS基础知识(复合选择器、标签模式、背景)_css规则复合内容

标签以什么方式进行显示,比如div自己占一行, span一行多个作用网页标签非常多不同地方用不同类型的标签以便更好的完成网页分类。

2024-09-22 15:17:39 1120

原创 Android资源适配

drawable-en-rUS-port-160dpi-finger-qwerty-dpad-480x320/(US代表美式英语)这个代码是大小写敏感的:语言码是小写字母,国家码是大写字母。你不能单独指定一个区域,但是你可以单独指定一个语言,比如。选择使用哪个资源时,它对屏幕像素密度的处理和其它限定符不同。文件夹命名的各个部分是有顺序的。,例如包含特定国家合法资源在您的应用程序中。如果你的应用程序有一个特定的资源只能通过软件盘使用,则使用。中,屏幕密度总被认为是匹配的。中,如果被考虑的限定符是屏幕密度,

2024-09-22 14:58:52 937

原创 Android自定义View 雷达扫描效果

/水滴的数量 这里表示的是水滴最多能同时出现的数量。//扫描时的扫描旋转角度。// 随机一个20以内的数字,如果这个数字刚好是0,就生成一个水滴。//触发View重新绘制,通过不断的绘制实现View的扫描动画效果。//扫描的转速,表示几秒转一圈。// 用于控制水滴生成的概率。//计算雷达扫描的旋转角度。//水滴显示和消失的速度。

2024-09-22 13:59:00 1052

原创 AudioRenderer开发音频播放功能(ArkTS)(1)

if (stateGroup.indexOf((renderModel as audio.AudioRenderer).state.valueOf()) === -1) { // 当且仅当状态为prepared、paused和stopped之一时才能启动渲染。(renderModel as audio.AudioRenderer).on(‘stateChange’, (state: audio.AudioState) => { // 设置监听事件,当转换到指定的状态时触发回调。// 开始一次音频渲染。

2024-09-22 13:11:50 777

原创 android状态栏样式修改

android:text=“StatusBar全透明(fitsystemwindows)”状态栏、导航栏全透明去阴影(5.0以上)导航栏全透明去阴影(5.0以上)

2024-09-22 12:13:41 535

原创 Android开发规范:包命名规范

比如登录模块,需要到activity里面开发LoginActivity,Activity往往包含了fragment,这时又需要去fragment里面找到对应的fragment来开发。顾名思义,activity的职能是管理所有的activity类,只要这个类是extends Activity的,都放到这个目录下面;这里讲的高耦合是指package之间的关联性,比如activity包内的类往往引用到了fragment或者view里面的类,package之间的关联性比较紧密。PBL的意思是:按照功能划分包名。

2024-09-22 09:32:57 1035

原创 Android完美获取状态栏高度、标题栏高度、编辑区域高度的获取

简单说明一下(上图Activity采用默认Style,状态栏和标题栏都会显示):最大的草绿色区域是屏幕界面,红色次大区域我们称之为“应用界面区域”,最小紫色的区域我们称之为“View绘制区域”;屏幕顶端、应用界面区之外的那部分显示手机电池网络运营商信息的为“状态栏”,应用区域顶端、View绘制区外部显示Activity名称的部分我们称为“标题栏”。二、状态高度的测量。

2024-09-22 06:58:35 1911

原创 Android中仿IOS圆盘时间选择器

【代码】Android中仿IOS圆盘时间选择器。

2024-09-22 04:24:13 454

原创 Android 音视频缓存机制的系统性设计_android 播放器缓存

缓存所占用的空间往往会成为迫使用户卸载应用的最后一根稻草。开发者不能无上限对音视频资源进行缓存,通常的维护手法是通过限制空间大小,比如,用户通常可以接受视频类应用有1G左右的缓存空间,即时通信类应用也许会更大些。因此我们的缓存库也需要提供这样的能力,可通过实现DiskUsage接口,实现不同的缓存策略。// 缓存空间管理类复制代码:限制缓存数量:限制缓存大小:没有缓存限制对于这样的诉求,通用的解决方案仍然是经典的LruCache,通过最近最少算法,缓存达到上限时,清理掉最久远的缓存文件。

2024-09-22 01:45:45 636

原创 Android 循环滚动控件ViewFlipper,可实现跑马灯或轮播图效果

【代码】Android 循环滚动控件ViewFlipper,可实现跑马灯或轮播图效果。

2024-09-21 23:13:15 408

原创 Android XML 布局基础(五)线性布局 - LinearLayout

通过给子视图设置权重值,来分配子视图所占空间的权重(比例),如图三个子视图权重分别设置为。由于最外层不是 Layout,则这里为根布局。由于最外层不是 Layout,则这里为根布局。测试代码同上,修改一下方向代码即可。测试代码同上,修改一下方向代码即可。

2024-09-21 20:36:18 619

原创 Android Jetpack从入门到精通,干货满满

1.1 简介1.2 特性1.3 分类1.4 应用架构11.1 Hilt - Jetpack 推荐的依赖注入类库11.2 Paging3 - 逐步加载和显示数据11.3 App Startup - 在应用启动时初始化组件11.5 更简单的动画 — core-animation 和 SeekableAnimatedVectorDrawable。

2024-09-21 18:01:18 426

原创 Activity启动流程(基于Android26)

/ true 表示这个监视器被用于使用 onStartActivity 拦截所有 Activity 启动if (result!// match 使用 IntentFilter 和 类名 进行匹配am.mHits++;// 当前监视器阻止 Activity 启动break;try {// 委托为 ActivityManagerService(AMS) 去处理// 检查 AMS 的处理结果。

2024-09-21 14:23:17 777

空空如也

空空如也

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

TA关注的人

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