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+


我的其他开源库

相关推荐
毕设源码-钟学长12 小时前
【开题答辩全过程】以 浮生馆汉服租赁管理系统为例,包含答辩的问题和答案
android·java·tomcat
louisgeek12 小时前
Android NDK 开发中的崩溃排查
android
2501_9159214313 小时前
iOS 开发者工具推荐,构建从调试到性能优化的多维度生产力工具链(2025 深度工程向)
android·ios·性能优化·小程序·uni-app·iphone·webview
JinSo14 小时前
Ultracite:为 AI 时代打造的零配置代码规范工具
前端·javascript·github
Chrison_mu14 小时前
Android项目背景动效-Kotlin
android·开发语言·kotlin
uhakadotcom14 小时前
Next.js 从入门到精通(1):项目架构与 App Router—— 文件系统路由与目录结构全解析
前端·面试·github
曾经的三心草15 小时前
JavaEE初阶-多线程2
android·java·java-ee
v***56516 小时前
Spring Cloud Gateway
android·前端·后端
苦逼的搬砖工18 小时前
基于 easy_rxdart 的轻量响应式与状态管理架构实践
android·flutter
2501_9159184118 小时前
苹果上架 iOS 应用的工程实践,一次从零到上线的完整记录
android·ios·小程序·https·uni-app·iphone·webview