Android应用通过theme实现skeleton骨架图

骨架屏(Skeleton Screen)在Android中的应用  在如今获取用户成本越来越高的情况下,好的用户体验能够更好的留住用户。为了提升产品的用户体验,各种技术层出不穷,其中,尤以菊花图以及由它衍生各种加载动画最为突出。  对于菊花图,想必是又爱又恨吧,它是仿IOS的,在Android端实现有一点麻烦。而如今有了比菊花图设计体验更棒的方法,即大家常看到的Skeleton Screen Loading,中文叫做骨架屏。  那什么是骨架屏尼?它的语义如下: ... 阅读详情

骨架图有多种实现方案,这里记录通过png背景图片和theme实现的一种方式。

  1. 准备和实际Activity大小相同的背景图片,比如img_app_skeleton.png
  2. 修改values/themes.xml
  3. <resources xmlns:tools="http://schemas.android.com/tools">
        <style name="AppTheme1" parent="xxx"/>
        <style name="AppTheme2" parent="xxx">
            <item name="android:windowBackground">@drawable/img_app_skeleton</item>
        </style>
    </resources>
  4. 修改AndroidManifest.xml文件中theme标签,将默认theme修改为包含骨架图的theme
  5. android:theme="@style/AppTheme2"
  6. 在你的MainActivity.java中的onCreate()中增加代码:
  7. setTheme(R.style.AppTheme2);
  8. 注意需要添加在setContentView()之前
  9. 最后adb shell am force-stop xxx ,kill掉app后,运行验证效果

React骨架屏实战:结构预演、SSR兼容与RN避坑指南 Skeleton Screen(骨架屏)是一种基于UI结构预演的渐进式加载方案,其核心原理是通过占位符提前声明布局空间,从而抑制CLS(累积布局偏移)、缓解弱网焦虑并统一跨平台加载体验。相比传统loading动画,它更强调结构一致性与视觉节奏控制,在React和React Native中分别依赖SVG路径建模与原生渲染优化。技术价值体现在首屏稳定性提升、SEO友好性增强及无障碍可访问性支持。典型应用场景包括电商列表页、管理后台详情页及数据看板等需高感知流畅度的模块。本文深入解析骨架屏在SSR服务端渲染、暗色 阅读详情

相关推荐

鸿蒙应用启动时长优化:五阶段拆解与精准治理

启动时长是移动应用性能的核心指标,其本质是系统加载、初始化、调度与渲染的端到端链路耗时。在鸿蒙(HarmonyOS)中,启动过程被明确定义为AppLoad、AppInit、AbilityCreate、AbilityForeground和UIRender五大原子阶段,每个阶段均受资源策略、配置元数据、生命周期设计及ArkUI渲染机制深度影响。区别于Android以onResume为终点的测量逻辑,鸿蒙以首帧像素绘制(VSync触发)为完成标志,要求开发者必须借助hdc命令与hiTraceMeter进行毫秒级归

weixin_34192816的博客 497

Android开源 Skeleton 骨架屏

骨架屏的作用是在网络请求较慢时,提供基础占位,当数据加载完成后,恢复数据展示。它可以给用户一种很自然的过渡,避免页面长时间白屏或者闪烁等情况。Skeleton 除实现静态的骨架图展示和新增了骨架屏闪烁动画,骨架屏动画是指在页面加载时,先显示一个简单的页面框架(骨架屏),然后再加载实际的页面内容。这样可以让用户在等待页面加载的过程中,先看到一个基本的页面结构,避免了空白页面的尴尬和用户的无知情况。骨架屏动画的优点是可以提高用户体验,让用户感觉页面加载更快,同时也可以减轻服务器的压力。

一个从事Android开发的平凡工程师 4935

android-skeleton

安卓启动 这是一个 android 启动项目,它包含一个非常有组织的包结构,它包含两个主要的子包:前端和后端。 后端包有一个由 Retrofit 和 GSON 库提供支持的 RESTful 客户端。 它还有一个模型子包,后者在 POJO 中使用 @SerializedName 进行注释,以告诉 Gson 如何将对象序列化为 JSON。 前端方案是一组片段,受 MVC 模式的启发,片段被视为视图/控制器,并由后端模型返回的数据填充。 这个存储库是做什么用的? 这是一个组织您的 android 项目的建议,具有所有网络功能、数据模型和易于实现的服务器 API json 响应 -> 通过改造和 gson 库的 java 模型转换。 我该如何设置? 这旨在与 android studio >= 0.8.14 一起使用 fork项目,导入android studio试试! 设置项目有一些基

Android骨架屏效果的实现与原理解析

0、前言 大家在使用淘宝的时候,如下图所示有遇到这样的效果,其会只展示一部分骨架大致图,等数据加载完毕之后再展示真正的页面数据。与菊花图相比起来,这样的实现能更好的提升用户的体验,这种效果称做:Skeleton Screen Loading,中文叫做骨架屏。 1、骨架屏的实现方式 在现在主流...

chuman7465的博客 2131

android-skeleton-project:带有大量样板代码和实用程序的 Android 骨架项目

android-骨架-项目 这是我在开始一个新项目时使用的 Android Skeleton 项目。 它包含各种实用程序、修复程序、样板代码和我经常使用的东西,并且已经使用 Android 开发了超过 5 年。 它并不意味着要在设备上运行,所以不要尝试。 它只是一个带有一些简洁抽象的基本架构。 如果您将使用此框架应用程序进行开发,如果您能以您认为令人满意的方式向我发送“感谢”,我将非常感激=) 如果您需要解释某些内容,请随时给我发送消息。 以下是骨架中的内容列表::: 支持手机和平板电脑的架构 values-sw600dp、values-xlarge 和 values 文件夹中的 settings.xml 描述了它是否是平板电脑 :: 所有活动都来自具有最新支持库的 FragmentActivity :: BaseContext 实现可用于所有 Activites 和 Fragmen

koleton:最简单的库,可在Android应用程序中显示骨架屏幕

科尔顿 最简单的库,可在Android应用程序中显示骨架屏幕。 一个Android库,提供了一种显示任何视图框架的简便方法。 Koleton的首字母缩写是: Ko tlin ske leton 。 用 :red_heart: 由 。 安装 您可以使用Maven和Gradle并安装Koleton : // In your module's `build.gradle.kts` dependencies { implementation( " com.ericktijerou.koleton:koleton:0.8.8 " ) } 确保在存储库中包含jcenter() repositories { jcenter() } 快速开始 要加载View的骨架,请使用loadSkeleton扩展功能: // ConstraintLayout constraintLayout.loadSke

TDesign Skeleton 骨架屏配置与性能优化实践

骨架屏是在数据返回前用可设计占位结构稳定首屏布局的加载态方案,其核心原理是通过 loading 与 delay 控制显示时机,以 theme 或 row-col 拟合真实内容结构,并用 gradient 动效传递“内容在路上”的信号。它不仅能缓解白屏和假死感,更能降低布局抖动与 CLS 指标风险,在列表、详情页、卡片流和图片墙等可预测结构场景中价值明显。工程落地时,还需结合最小展示时长、深色主题变量、IntersectionObserver 暂停屏外动画和组件化封装,避免骨架闪烁与低端设备卡顿。围绕 TDe

weixin_42676876的博客 115

判断两个多边形是否相交(java实现)

判断两个多边形是否相交 ,当前认为一个点相交也是相交,可针对凹多边形和凸边型等多复杂的多边形进行相交判断,采用java实现,因为网上java实现的比较少,所以这里写下如何实现,适用于碰撞检测,地图等等应用场景

IT_CREATE的博客 5845

impeccable 原生应用审计指南:audit.native.md 的五维评分体系、P0–P3 分级报告与平台一致性裁决

本篇指南围绕 impeccable 技能中的原生应用审计参考文档 [audit.native.md](https://link.gitcode.com/i/be1ccddad8b0ae3ca7e71603fddce3b0) 展开,完整解析它对 iOS / Android 原生应用执行的五维技术质量审计(可访问性、性能、外观与主题、平台一致性、自适应)、0–4 分打分标准、总分 20 的 Audit

gitblog_00668的博客 391

医疗影像技术实战:如何用Python快速生成DRR图像(附完整代码)

本文详细介绍了如何使用Python实现数字重建放射影像的快速生成。通过实战代码,从基础光线投射算法到性能优化,逐步讲解DRR图像生成的核心原理与工程实践,帮助开发者掌握医疗影像处理的关键技术,赋能放射治疗规划与图像引导手术等临床工具开发。

k8l9m0n的博客 72

实战分享:一文读懂RS-232总线

RS-232标准接口(又称EIARS-232)是常用的串行通信接口标准之一,它是由美国电子工业协会(Electronic IndustryAssociation,EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定,其全名是“数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。

阿荣嵌入式 8520

android 开发: ActionBarSherlock 在魅族m9 上引发异常

Android: 2.3.5 设备: MEIZU  M9  异常: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx/com.xxx.StartActivity}: android.view.InflateException: Binary XML file line #24: Error

guolei000的专栏 1270

机器学习算法 —— LightGBM

本次我们选择英雄联盟数据集进行LightGBM的场景体验。英雄联盟是2009年美国拳头游戏开发的MOBA竞技网游,在每局比赛中蓝队与红队在同一个地图进行作战,游戏的目标是破坏敌方队伍的防御塔,进而摧毁敌方的水晶枢纽,拿下比赛的胜利。现在共有9881场英雄联盟韩服钻石段位以上的排位比赛数据,数据提供了在十分钟时的游戏状态,包括击杀数、死亡数、金币数量、经验值、等级……参考项目:机器学习系列入门系列[七]:基于英雄联盟数据集的LightGBM的分类预测。

ZShiJ的博客 708

Impeccable 的 bolder 命令设计规则解析:如何“放大而不重建“一个偏保守的界面

`bolder` 是 Impeccable 技能(一套面向 AI 编码代理的前端设计语言,含 1 个技能、23 个命令与 61 条确定性检测规则)中 Refine(精修)类别下的放大类命令。本文以 [bolder.md](https://link.gitcode.com/i/b6ed9815fae76f85f30e19da04f3dc14) 这份命令参考文档为主体,完整解析它的执行前提、作用域规则

gitblog_00504的博客 403

芒果YOLOv5改进107:ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

ARConv自适应旋转卷积,全网首发 | 即插即用:以增强其表征能力,从而准确检测方向物体,ICCV顶会论文idea

包括YOLOv5、YOLOv7、YOLOv8等模型改进 956

2025必备:C#上位机自动更新方案,支持断点续传与版本回滚(附完整源码)

摘要:工业上位机自动更新方案解析 本文针对工业现场上位机更新效率低下、风险高的问题,提出了一套完整的自动更新解决方案。该方案包含四个核心模块:版本检测(后台比对版本)、断点下载(支持网络中断续传)、安装更新(自动备份旧版本)和版本回滚(更新失败快速恢复)。通过独立更新工具与主程序解耦的设计,实现了"不影响生产+有退路"的工业级更新要求。方案基于.NET Framework开发,采用HTTP协议通信,包含详细的代码实现和工业场景适配说明,解决了U盘更新效率低、网络不稳定导致下载失败、更新后

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 957

TelegramUI自定义主题指南:如何实现Telegram原生色彩方案

TelegramUI是一个专为Telegram Mini Apps设计的React组件库,它提供了一套完整的Telegram原生界面组件和主题系统。通过这个强大的UI工具包,开发者可以轻松创建与Telegram原生应用风格一致的应用界面,为用户提供无缝的使用体验。本文将详细介绍如何利用TelegramUI的自定义主题功能,实现完美的Telegram原生色彩方案。 ## 🎨 TelegramUI

gitblog_00489的博客 715

一步步带你用C#开发Modbus通信上位机(附完整代码与工程思路)

Modbus上位机开发指南(C#实现) 本文详细介绍使用C#开发Modbus上位机系统的全过程,覆盖RTU和TCP两种协议。内容包含:1)需求分析与技术选型(WinForms+NModbus4);2)分层架构设计(UI/业务/通信层);3)通信层核心代码实现(串口/以太网连接、数据读写);4)功能模块开发(设备管理、数据采集、远程控制)。提供可直接复用的Modbus RTU客户端代码示例,包含连接管理、线圈读写、寄存器操作等工业场景必备功能。通过系统化的开发流程,帮助开发者快速构建稳定可靠的Modbus监控

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 821

内置测试按钮+Syslog日志查看器:android_income_sms_gateway_webhook调试技巧清单,快速定位转发失败原因

**android_income_sms_gateway_webhook**(Incoming SMS to URL forwarder)是一款免费的开源 Android 应用,能把收到的短信自动以 HTTP POST + JSON 的形式转发到你指定的 Webhook URL。转发"发不出去"是最常见的困扰——好消息是,应用内置了 **Test 测试按钮**和 **Syslog 日志查看器**,

gitblog_00325的博客 767

音视频OSD——使用freetype将矢量字库的信息叠加至YUV

目录freetypes使用步骤1)包含头文件:2) 初始化库:3)加载face对象:4)设置字体大小5)设置字体位置,以及旋转度数:6)加载字形图像准备矢量字库代码.c.h效果叠加至YUV freetypes FreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件 下载freetypes tar -xjf freetype-2.4.10.tar.bz2 cd freetype-2.4.10/ ./configure

路人coder 2365

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Folia 歌词动画播放器手机安装完整指南:10 分钟拥有全屏歌词

Folia 是支持网易云、QQ 音乐、酷狗、Navidrome 与本地曲库的歌词动画播放器。全流程就两件事:把 Web 版部署到 HTTPS 地址,再装进手机主屏幕。装完,这台手机能跑全屏歌词动画、在线搜索播放,也能接 Navidrome 私有曲库。 ## 你正在做的事 这里的"安装"不是从应用商店下载,而是收藏一个可全屏、可离线的 Web 应用:页面注册了 Service Worker,PW

gitblog_00220的博客 444

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Citra 模拟器实战指南:5 分钟装好,把 3DS 经典搬上大屏

还在为掌机小屏幕发愁?开源的 Citra 模拟器(任天堂 3DS 模拟器)让你在大屏上以更高清晰度重温经典,支持 Windows、macOS、Linux。下面走一条最短路径:装好、调画面、跑起第一个游戏。 ## 🚀 快速上手:Citra 5 分钟装好,跑起第一个 3DS 游戏 整条链路只有四步,跟着做即可: 1. **把项目拿到本地**。在终端执行下面这条命令,即可克隆整个 Citra 模

gitblog_00125的博客 464

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Macro task_dedup 深度解析:embedding → pgvector → rerank → LLM 判定的任务去重流水线

在 Macro 的统一工作空间里,任务(Task)会被反复创建,同一个人可能在不同时间用不同措辞记下同一件事,不同团队成员也可能各自建一条。`task_dedup` crate 负责的正是这件事:把任务标题和正文向量化,在 pgvector 语料库中做余弦检索,用 reranker 收敛候选,再交给 LLM 判定“这是不是同一个任务”,最后把结果落成一张可撤销的重复匹配图。本文将沿着 [crate

gitblog_00805的博客 1109

【资源自取】UaExpert 免费 OPC UA 客户端设备监控完全指南

UaExpert 是一款免费、采用 MIT 协议开源的 OPC UA 客户端工具。本仓库直接附带 1.5.1 版 Windows 安装包,适合自动化工程师、嵌入式开发者和刚接触 OPC UA 协议、想快速连通设备并读取实时数据的人。 ## 解决什么问题 - 如果你手边有一台支持 OPC UA 的 PLC、CNC 或网关,却不知道它当前输出的数据长什么样,它就能帮你通过 endpoint 地址直

gitblog_00147的博客 364

MAS 激活脚本完整指南:免密钥激活 Win11 与 Office,4 种方式一次讲清

新装系统右下角挂着「Windows 未激活」水印、打开 Office 顶部是灰色横幅,MAS 激活脚本(Microsoft Activation Scripts)就是为这个场景做的:一个完全开源的本地菜单工具,把 HWID、Ohook、TSforge、Online KMS 四种激活方式聚合在一起,不输密钥,一次把 Windows 11 和 Office 激活。 ## 动手前先确认三件事 - *

gitblog_00220的博客 380

ai-development-patterns 深度篇:Bounded Autonomy 有界自主,给AI自治循环装上Turn与预算双重刹车

让 AI Agent 自动"写代码—跑测试—改代码"循环起来,是效率的福音,也是翻车的温床。开源项目 **ai-development-patterns** 中的 **Bounded Autonomy(有界自主)** 模式,正是为 AI 自治循环设计的"刹车系统":通过 Turn 数上限、美元预算上限、墙钟时间和卡死检测四道硬边界,再配合确定性的完成检查脚本,让 AI 在围栏内自由发挥,却绝不可能

gitblog_00474的博客 374
上一篇: [Git] pull代码问题 Permission denied (publickey)
下一篇: repo sync报错: unable to get credential storage lock: File exists
是是是是是是是是是是是
博客等级 码龄15年 6粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值