liquid-glass-composeによるJetpack Compose向けガラスモーフィズムライブラリ

Library

概要

liquid-glass-composeは、Jetpack Compose向けのガラスモーフィズム(Glassmorphism)ライブラリです。Android 13以降の環境で利用可能なAGSL(Android Graphics Shading Language)シェーダーを活用し、UIにリアルで滑らかなガラスのような透明感やぼかし、歪み効果を適用できます。開発者は複雑なシェーダーの知識がなくても、簡単に美しいモダンなデザインを実装でき、視覚的なリッチネスを高められます。影やハイライトも加えられるため、立体感のある表現も可能です。

GitHub

主な特徴

  • Android 13以上のAGSLシェーダーを活用した高品質なガラスモーフィズム表現
  • ぼかし(blur)、歪み(distortion)、影(shadows)など多彩なエフェクトに対応
  • Jetpack Composeとの親和性が高く、簡単にUIに組み込める
  • カスタマイズ可能なパラメータで多様なデザインニーズに対応

技術的なポイント

liquid-glass-composeは、Android 13から導入されたAGSL(Android Graphics Shading Language)を活用したシェーダーによるガラスモーフィズム表現を提供します。AGSLはOpenGLやVulkanのシェーダー言語に似たDSLであり、Androidのグラフィックススタックに最適化された高性能なシェーダーを記述可能です。これにより、従来のRenderScriptやCanvas APIでは実現困難だった複雑なエフェクトをネイティブに処理できます。

本ライブラリはJetpack ComposeのModifierとして実装されており、ComposeのUIツリーに自然に組み込める設計です。これにより、Composeの他のUI要素と同様に再利用性やパラメータ制御が容易です。例えば、Modifier.liquidGlass()の呼び出しでエフェクトを適用可能で、ぼかしの強さや歪みの度合い、影の色や位置などを細かく調整できます。

ぼかし効果は背景の内容を動的に取り込みつつ、滑らかな透過感を演出。歪みは背景の形状や光の屈折を模した視覚効果で、液体のような柔らかい質感を表現します。さらに影(shadows)やハイライトは、ガラスの厚みや立体感を強調し、デザインに奥行きを加えます。

技術的には、ComposeのGraphicsLayerScopeでのカスタム描画とAGSLシェーダーの連携がコアです。ライブラリ内部でAGSLコードをモジュール化し、Compose側からパラメータを渡して動的にシェーダーを制御。これによりリアルタイムなエフェクト変更が可能です。Android 13のシェーダーサポートを前提としているため、古いOSでは利用できませんが、最新のAndroid UIデザインに最適化されています。

また、Kotlinで記述されているため、Compose開発者は既存のコードベースに自然に統合可能。拡張性も高く、今後のAGSLの機能追加やComposeの進化にも柔軟に対応できる設計となっています。

まとめ

Android 13以降のJetpack Composeでモダンなガラスモーフィズムを簡単に実装できる優れたライブラリです。