Gradient Drawable in Android – Create Gradient Backgrounds

我々は、背景として多くのウェブサイトでグラデーションカラーを見てきました、以下のようにInstagramロゴで、アプリの背景、ボタン、進捗バー、等に使用されています。 グラデーションは、モバイルアプリやWebサイトなど、あらゆるアプリのUIをより美しく、より生き生きとしたものにします。 多くの開発者は、アプリやウェブサイトをより魅力的に見せるために、グラデーションを使用しています。 このチュートリアルでは、Android アプリのアクティビティにグラデーションの背景を設定する方法を学びます。

グラデーションとは:

Wikipedia によると、

CG では、色のグラデーションは位置依存の色の範囲を指定し、通常は領域を埋めるために使用します。 たとえば、多くのウィンドウマネージャでは、画面の背景をグラデーションとして指定することができます。

カラーグラデーションは、カラーランプまたはカラープログレッションとしても知られています。 一連の値に色を割り当てる場合、グラデーションは連続的なカラーマップであり、カラースキームの一種です。

では、Android アプリに簡単なグラデーションを追加してみましょう。

Step 1: 新しいプロジェクトを作成する

  1. Open Your Android Studio Click on “Start a new Android Studio project” (Learn how to setup Android Studio and create your first Android project)

  2. Choose “Empty Activity” from the project template window and click Next

  3. Enter the App Name.Nextをクリックし、プロジェクトのテンプレートウィンドウから “Empty Activity” を選択します。 パッケージ名、保存場所、言語(Java/Kotlin、このチュートリアルではJavaを使用)、最小SDK(ここではAPI19を使用。 Android 4.4 (KitKat))

  4. Next click on the Finish button after filling the above details

  5. Now, wait for the project to finish the build.

ステップ 2: グラデーションカラーの作成

グラデーションカラーの作成には drawable フォルダーに .xml ファイルを作成する必要があります。 そこで、app -> res -> drawableに移動し、drawable -> New -> Drawable Resource Fileを右クリックし、gradient_drawable.xmlファイルを作成します。上のコードでわかるように、グラデーションで使用される色を定義するために、android:startColorandroid:centerColorandroid:endColor 属性と一緒に gradient タグを使用しています。 それでは、グラデーションの描画に使用できる属性について説明します。

XML attributes of Gradient Drawable

以下は、<gradient> drawable の属性です。

で指定された色とすることができる。endColor

は、グラデーションの中心色を指定します。centerX

属性 説明
android:startColor

グラデーションの開始色です。

色の値は、”#rgb”, “#argb”, “#rrggbb”, “#aarrggbb “のいずれかの形式

android.Color

グラデーションの終了色

色の値は “#rgb”, “#argb”, “#rrggbb”, “#aarrggbb” forms

android:centerColor グラデーションのセンターカラーです。 省略可能ですが、必要であれば使用できます

色の値は、”#rgb”, “#argb”, “#rrggbb”, “#aarrggbb “のいずれかの形式

android.Center.Color

X 形状内のグラデーションの中心点の位置を、幅

0 の割合で指定。5はデフォルト値

android:centerY

高さ

の割合として、形状内のグラデーションの中心点のY-位置0.1%。5がデフォルト値

android:angle

グラデーションの角度、これは線形グラデーションでのみ使用

範囲

android.Y の45倍でなければならない。type

グラデーションの種類を設定するために使用され、デフォルト値はlinearです。 また、3つのタイプがあります

  • linear

  • radial

  • sweep

android:gradientRadius

これはグラデーションの半径をセットするために使用されます。

Step 3: Activity_main.xml の変更

ここで activity_main.xml ファイルを開き、デフォルトコードを削除し、レイアウトを RelativeLayout に変更して、次のようにグラデーション背景に設定します:

android:background = "@drawable/gradient_background"

これで我々の activity_main.xml は変更されました。xml は完成し、完全なコードは次のようになります:

そして上記の出力は次のようになります:

私たちは、Android アプリで異なるビューとレイアウトにグラデーションを追加することもできます。 グラデーションの背景を使用できる他の Android アプリのコンポーネントをいくつか取り上げます。

Gradient background with Button:

ここで、ボタンにグラデーションの背景を使用します:

上記のコードの出力は次のとおりです:

Gradient background with TextView:

ここで、TextViewのグラデーション背景を使用します:

上記のコードの出力は:

ImageViewとグラデーション背景です。

ここで、ImageViewのグラデーション背景を使用します:

上記のコードの出力は:

シークバーのグラデーション背景です。

ここで、SeekBarにグラデーションの背景を使用します:

上記のコードの出力は:

結論: