"Time is not linear. It folds."
cyberpunk(縦) |
cyberpunk(折りたたみ) |
minimal(横) |
Vetro は、Galaxy Z Fold 7 などの「横折りたたみスマートフォン」に特化して設計された、Android ネイティブ時計アプリケーションです。
Verified Environment: Galaxy Z Fold 7 / Android 16
単なる時刻表示アプリではありません。端末の物理的な形状(開閉状態)を Jetpack WindowManager で検知し、UI そのものを物理形状に合わせて変形させる "Adaptive Cyberpunk Interface" を搭載しています。
本システムは、端末のハードウェア状態に応じて 2 つのモードを自動で切り替えます。
端末を 本の様に横に折って机に置くモード。
- UI: 画面を上下に分割し、上部に視認性の高い時計、下部にステータスモニターを配置。
- Use Case: デスクワーク中の置時計、ベッドサイドクロック。
端末を開いた縦長のモード。
- UI: フォントを縦方向にスタック(積み上げ)配置。
- Design: 超縦長画面で発生しがちな「余白の崩れ」を防ぎ、画面全体を情報量で埋め尽くすタワー型レイアウト。
開発にはモダンな Android 開発技術を採用しています。
- UI Toolkit: Jetpack Compose (Material3)
- Foldable Support:
androidx.window:window(WindowManager API) - Architecture: MVVM (Model-View-ViewModel) + Clean Architecture based
- Fonts Strategy:
Orbitron(Bold/Medium): High-Tech なメイン時刻表示BBH Bartle: Industrial なシステムログ・装飾表示
通常のレスポンシブ対応(幅に応じた変化)だけでなく、FoldingFeature を用いて「ヒンジ(折り目)」の位置を正確に計算。 物理的な折り目と UI の境界線が完全に一致するように Spacer の高さを動的に制御しています。
静止画のような UI ではなく、常に稼働しているデバイス感を出すために以下を実装。
- Real-time Monitor:
BatteryManagerとMemoryInfoから実数値を取得し表示。 - Neon Glow Effect: 標準の Shadow ではなく、Canvas API (
Paint+BlurMaskFilter) を用いて、芯のあるネオン発光を描画。
VetroCodex - Time is not linear. It folds.


