Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Using Gauge to Build Visual Meters in HarmonyOS Next

2025年09月17日に「Dev.to」が公開したITニュース「Using Gauge to Build Visual Meters in HarmonyOS Next」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

HarmonyOS NextのGaugeコンポーネントは、ArkTSを用いてフィットネスやバッテリー残量などの進捗を円形メーターで表示する。スマートウォッチなどの小型画面でも、パーセンテージ値を分かりやすく視覚化し、色や中央の内容もカスタマイズできるため、直感的なUI作成に役立つ。

ITニュース解説

HarmonyOS Nextという新しいOSでアプリケーション開発を行う際、ユーザーに進捗状況などを分かりやすく表示するための「Gauge(ゲージ)」というコンポーネントについて解説する。システムエンジニアを目指す初心者の方にとって、アプリケーションの見た目(ユーザーインターフェース、UI)をどのように作るのか、その具体的な部品の一つとしてこのGaugeコンポーネントがどのように使われるのかを理解することは非常に重要である。

私たちがスマートフォンやスマートウォッチ、車載ダッシュボードなどの画面を見る時、バッテリー残量や目標達成度、データ読み込みの進捗など、様々な「進捗」が視覚的に表示されていることに気づくだろう。特に画面スペースが限られているデバイスでは、その表示方法がシンプルで分かりやすいことが求められる。HarmonyOS Nextが提供するGaugeコンポーネントは、このような進捗を「円形のメーター」としてエレガントに表示するためのツールである。

Gaugeコンポーネントの最も基本的な役割は、パーセンテージベースの値を視覚的に表現することだ。例えば、フィットネスアプリで1日の歩数目標の達成率をパーセンテージで表示したり、スマートデバイスのバッテリー残量を円弧で示したり、あるいは学習アプリでレッスンの完了度合いを表示したりする際に非常に役立つ。単に数字を表示するだけでなく、カラフルな円弧や、動きのある表現を加えることで、ユーザーは一目で現在の状況を把握し、次への行動を促される。

このGaugeコンポーネントは、HarmonyOSのUIフレームワークであるArkUIの一部として提供されており、TypeScriptの拡張であるArkTSという言語を使って設定する。ArkTSは、アプリケーションのUIとロジックを効率的に記述できるように設計されている。Gaugeを使うことで、開発者は視覚的に魅力的なだけでなく、高い機能性を持つUI要素を簡単に実装できるようになるのだ。

Gaugeコンポーネントが提供する主な機能は多岐にわたる。まず、進捗を表す「円弧」の表示だ。この円弧は、開始角度と終了角度を自由に設定できるため、完全な円だけでなく、半円やそれ以外の任意の扇形を形成できる。例えば、特定の角度から始まり、別の角度で終わる半円形のメーターを作成できる。また、ゲージは「前景」と「背景」の2つの円弧を持つことができ、これにより進捗部分と未進捗部分を明確に区別して表示できる。さらに、円弧の色を単色だけでなく「グラデーション」に設定できるため、進捗に応じて色が変化したり、よりリッチな視覚効果を加えたりすることが可能だ。立体感を出すための「影(シャドウ)」のスタイルもサポートされており、平坦なデザインに深みを与えることができる。そして、ゲージの中央部分には、テキストやアイコンといった「カスタムコンテンツ」を配置できる。これにより、単にゲージが表示されているだけでなく、具体的な数値や象徴的なアイコンを同時に表示し、情報をより豊かに伝えられる。

Gaugeコンポーネントを設定する際には、いくつかの重要なプロパティ(設定項目)がある。最も基本的なのはvalueminmaxだ。valueはゲージが現在示す値、minmaxはその値の最小値と最大値をそれぞれ定義する。例えば、バッテリー残量を表示する場合、minを0、maxを100とし、valueに現在の残量パーセンテージを設定する。

円弧の見た目を制御するプロパティとしては、startAngleendAngleがある。これらは円弧が始まる角度と終わる角度を度数法で指定する。例えば、半円のメーターを作成するには、startAngleを225度、endAngleを135度に設定すると良い。これにより、下から始まり、上を通り、下に戻るような半円が描かれる。円弧の太さはstrokeWidthで指定し、細い線や太い線でゲージの印象を変えられる。色の設定はcolorsプロパティで行い、単色の配列や、複数の色とそれぞれの位置(オフセット)を指定した線形グラデーションを設定できる。これにより、進捗に応じて赤から黄、そして緑へと色が変化するような視覚的に魅力的なメーターが実現できる。ゲージに奥行きを与えるtrackShadowプロパティを使えば、影をつけて立体感を演出することも可能だ。そして、ゲージの中心に表示するコンテンツは、ゲージの子要素として別のコンポーネント(例えばTextコンポーネント)を配置することで実現できる。

具体的な使用例を考えてみよう。ArkTSのコードを使って、例えば90%の値を表示するゲージを作成する場面だ。まず、Gaugeコンポーネントを定義し、value: 90min: 1max: 100のように基本的な値を設定する。次に、ゲージの中心に大きな数字の「90」を表示したい場合、ゲージの内部にColumnコンポーネントを配置し、その中にTextコンポーネントで「90」という文字を表示する。このテキストには、フォントサイズを大きくし、色を白に、太字にするなどのスタイルを適用する。ゲージ自体の見た目を調整するために、startAngleを225、endAngleを135に設定して半円形にする。さらに、colorsプロパティで赤、黄、緑のグラデーションを設定し、strokeWidthを18ピクセルに設定して太めの円弧にする。このように、複数のプロパティを組み合わせることで、単なる進捗バーではない、リッチな表現力を持つメーターを構築できる。

Gaugeを最大限に活用し、ユーザーにとって最高の体験を提供するためのいくつかのヒントがある。一つは、角度の賢い使い方だ。例えば、半円の進捗表示にはstartAngle: 225endAngle: 135の組み合わせが非常に効果的だ。次に、ゲージの中央に表示するコンテンツは、特にスマートウォッチのような小さな画面では、数字やシンプルなアイコンなど、必要最小限の情報に留めることが重要である。情報を詰め込みすぎると、かえって視認性が損なわれるためだ。グラデーションカラーは、単に進捗を示すだけでなく、達成度合いや状態の変化を直感的に伝えるのに役立つので、積極的に活用すると良い。また、trackShadow()のような影のスタイルを加えることで、UIに奥行きが生まれ、より洗練された印象を与えることができる。ゲージの値は、パーセンテージベースで設計されているため、通常は0から100の範囲で扱うのが一般的だ。そして、グラデーションや影のような視覚効果は魅力的だが、処理能力の低いデバイスではパフォーマンスに影響を与える可能性があるので、その点も考慮に入れる必要がある。最後に、円弧の太さ(strokeWidth)は、デザインの文脈に合わせて調整しよう。細い円弧は軽快な印象を、太い円弧は力強い印象を与えることができる。

このGaugeコンポーネントは、非常に幅広いアプリケーションシナリオで活躍する。例えば、フィットネスアプリでは、ユーザーの歩数や消費カロリーの目標達成度を視覚的に表示できる。学習アプリでは、コースやレッスンの完了パーセンテージを表示し、ユーザーの学習意欲を高めることができるだろう。バッテリーモニターでは、現在のバッテリーレベルを分かりやすく表示し、ユーザーに充電を促す。目標管理アプリでは、タスクの完了度合いを可視化し、達成感を味わえるようにする。水分補給トラッカーでは、一日の水分摂取目標に対する進捗を追跡できる。システムモニターでは、CPU使用率やメモリ負荷を円形のグラフで表示し、システムの状況を一目で把握できるようにする。さらに、スマートカーアプリでは、タイヤの空気圧や燃料の状態を直感的にドライバーに伝えるといった応用も可能だ。

まとめると、HarmonyOS Nextで提供されるGaugeコンポーネントは、アプリケーションに視覚的に魅力的で、かつ機能的な進捗表示を実装するための強力なツールである。柔軟なカスタマイズ性、高い視認性、モダンなデザイン要素を兼ね備えており、特にスマートウォッチやダッシュボードのような円形UIに適している。ArkTSとGaugeを組み合わせることで、開発者はユーザーに心地よく、分かりやすいフィードバックを提供できるアプリケーションを構築することが可能になる。ぜひ、次のプロジェクトでGaugeコンポーネントを活用し、ユーザーが進捗を視覚的に体験できるようなアプリケーション開発に挑戦してみてほしい。

関連コンテンツ