Androidの背景設定

Androidの背景設定

背景設定は
android:background=””
で設定する

設定できるのは
通常の画像
shapeリソース
9patch

まずはShapeの場合

これには、まず背景用のShapeリソースを作成する

ソースは
/res/drawable/shape.xml

<shape
xmlns:android="http://scheams.android.com/apk/res/android">
<gradient
android:angle="270"
android:endColor="#FF2A68"
android:startColor="#FF53A"/>

<corners android:radius="10dp"/>
</shape>

次に、作成したレイアウトファイルを
背景に設定するので
android:background=””
で指定する

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/padding_xlarge"
android:background="@drawable/shape"
android:padding="@dimen/padding_large"
android:text="shapeを使った背景"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/padding_xlarge"
android:background="@drawable/normal"
android:text="普通の背景画像"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/padding_xlarge"
android:background="@drawable/9patch"
android:text="9patchでの画像"/>

今回は一緒に
普通の場合と9patchの場合も追加

shapeリソースのメリットは
XMLなのでファイルが軽いこと
そして、Viewのサイズに依存しないので画質が一定になること

これは、グラデーション背景とか
角丸ボタンの作成に使われる

そして、9patchのメリットは
伸縮するのが前提なので、小さい画像ファイルでできるため
こちらもファイルサイズを小さくできる
またshapeみたいにViewのサイズに依存しないので画質が一定になる
さらに、コンテンツの表示領域の指定も可能

これは、画像こ一部だけをのばしたり
EditTextで特定の場所だけ入力欄にするときに使う

9patchリソースは
Android SDK の中の toolsディレクトリの中にあるツールの
draw9patch
を使うことで作成できる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です