Android 使用液态玻璃(LiquidGlass)效果,真实的折射和色散效果


特性

  • 真实的的液体玻璃效果 - 基于物理的折射色散效果
  • 高度可定制 - 支持调整圆角、折射参数、色散、色调等

要求

  • Android API 33 及以上(Android 13),以获得完整的玻璃效果

Demo 示例

下载 Demo

GitHub

GitHub仓库


快速集成

添加仓库

在项目根目录的settings.gradle添加仓库:

gradle 复制代码
1dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
       mavenCentral()
       maven { url 'https://jitpack.io' }
  }
}

添加依赖

在模块的build.gradle添加依赖项:

gradle 复制代码
dependencies {
   implementation 'com.github.QmDeve:AndroidLiquidGlassView:v0.0.1-alpha02'
}

如何使用

XML布局

xml 复制代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- 内容容器 -->
    <FrameLayout
        android:id="@+id/content_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ImageView
                android:id="@+id/images"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                android:src="@drawable/image" />

        </RelativeLayout>
    </FrameLayout>

    <!-- 液态玻璃视图 -->
    <com.qmdeve.liquidglass.widget.LiquidGlassView
        android:id="@+id/liquidGlassView"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_centerInParent="true" />
</RelativeLayout>

绑定采样源

java 复制代码
ViewGroup content = findViewById(R.id.content_container);
LiquidGlassView liquidGlassView = findViewById(R.id.liquidGlassView);

// 绑定采样源
liquidGlassView.bind(content);

API Reference

方法 描述 默认值
bind(ViewGroup source) 绑定采样源 -
setCornerRadius(float px) 设置圆角半径 (px) (0dp-99dp) 40dp
setRefractionHeight(float px) 设置折射高度 (px) (12dp-50dp) 20dp
setRefractionOffset(float px) 设置折射偏移 (px) (20dp-120dp) 70dp
setTintColorRed(float red) 设置色调(R) (0f-1f) 1.0f
setTintColorGreen(float green) 设置色调(G) (0f-1f) 1.0f
setTintColorBlue(float blue) 设置色调(G) (0f-1f) 1.0f
setTintAlpha(float alpha) 设置色调透明度 (0f-1f) 0.0f
setDispersion(float dispersion) 设置色散效果 (0f-1f) 0.5f
setBlurRadius(float radius) 设置模糊半径 (0dp-50dp) 0f
setDraggable(boolean enable) 开启和关闭拖动 true

效果说明

Android 13+ 设备上该库可以呈现完整的液态玻璃效果包括:

  • 真实且可调节的折射效果
  • 真实且可调节的色散效果
  • 可调节的模糊效果
  • 可调节的色调

Android 13 以下的设备上,该视图将保持透明背景,并且不会渲染任何效果


注意事项

1.采样源 确保绑定的采样源视图包含有效内容 2.兼容性 完整功能仅支持 Android 13+


我的其他开源库

相关推荐
流量猎手15 小时前
宝塔中更新github
github
敢敢是只喵i19 小时前
n8n 接入业务系统:如何正确等待一项 Agent 任务?从稳定 request_id、job_id 到超时续查
github
wangruofeng19 小时前
新 Mac 到手先装什么:AI Builder 的 44 款工具,基础层照抄、场景层按需
github·aigc·ai编程
亖十不惑19 小时前
二、Codex Memories 源码解析:记忆的生成、整理与存储
github
面向Google编程19 小时前
GitHub 宕机近 8 小时!一次 sidecar 配置失误,如何放倒全球最大代码平台
github
hunterandroid19 小时前
Android WebView JSBridge 治理实战:从线上白屏崩溃到协议化通信
android·前端
一个用户名i19 小时前
【Compose 系列】第 1 篇:认识 Compose,为什么要学它
android·android jetpack
峰向AI20 小时前
Modular 平台:一个人想改写 AI 开发的底层规则
github
极客猴子21 小时前
iPhone实时转写软件推荐:会议录音功能真实体验
android·人工智能·飞书
达令哥21 小时前
告别 ARouter!基于 Google 官方 Navigation 3 + KSP 打造 Compose 时代的双轨制路由框架
android·前端