Viewを表示する
Viewを表示する
レイアウトファイルに要素を追加する。
Activity
やFragment
の画面表示処理でレイアウトを指定するが、そのレイアウトに表示したいView
を追加する。
例えばAndroid Studioでシンプルなプロジェクトを新規作成すると、activity_main.xml
が生成されるので確認する。
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
ConstraintLayout
は複数のViewを配置するときに使う ViewGroup
派生のクラスのひとつ(説明は割愛)。
その中にTextView
というテキストを表示するためのViewが配置されている。
新規作成したプロジェクトでは、↑のレイアウトをActivity.setContentView(resourceId)
により表示している。
resourceId
(リソースID)はリソースファイルを作成するとAndroid Studioが自動生成してくれる。
レイアウトファイルの場合はR.layout.filename
が自動生成されるので、これを指定する。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
// Activityで表示する画面として↑のレイアウトファイルを指定
setContentView(R.layout.activity_main)
...
}
Viewの大きさを設定する
レイアウトファイルにView
を配置する際、必須項目としてandroid:layout_width
とandroid:layout_height
がある。
この設定項目でView
の大きさを指定することができる。
Viewの幅を設定する
android:layout_width
で設定する。以下のいずれかを指定する。
wrap_content
。OSが必要な最小幅を計算して自動で大きさを決めてくれる。match_parent
。領域いっぱいに表示する。- 数値。
dp
という単位を使って指定する。例えば100
を指定する場合はandroid:layout_width="100dp"
となる。
Viewの高さを設定する
android:layout_height
で設定する。以下のいずれかを指定する。
wrap_content
。OSが必要な最小の高さを計算して自動で大きさを決めてくれる。match_parent
。領域いっぱいに表示する。- 数値。
dp
という単位を使って指定する。例えば100
を指定する場合はandroid:layout_height="100dp"
となる。
背景を設定する
android:background
で設定する。以下の設定方法がある。
1. リソース指定
res/colors.xml
に設定した色や、drawableリソースを指定する。
- 色の場合は
@colors/resouce_name
で指定する。 - drawableリソースの場合は
@drawable/resource_name
で指定する。
例えばres/colors.xml
に以下を定義してある場合、
<color name="background_color">#FF0000</color>
以下のように指定する。
<View
...
android:background="@color/background_color" />
2. color指定
#RGB
の形式で指定する。例えば赤色(FF0000
)を指定する場合は以下。
<View
...
android:background="#FF0000" />
不透明度(alpha
)も合わせて指定可能。その場合は#ARGB
で指定する。
背景をプログラム上で設定する
View.setBackgroundResource(resourceId)
/View.setBackgroundColor(color)
を使う。
setBackgroundResource(resourceId)
ではリソースIDを指定する。
drawableリソース(R.drawable.resource_name
)、colorリソース(R.color.resource_name
)どちらでも利用可能。
setBackgroundColor(color)
ではRGB形式で色を指定する。
16進数であることを明示するためには0xRGB
の形で設定する。
例えば赤色(FF0000
)を指定する場合は以下。
val view = findViewById(R.id.view)
view.setBackgroundColor(0xFF0000)
また、不透明度(alpha
)も合わせて指定可能。その場合は#ARGB
で指定する。
android.graphics.Color
クラスによくある色指定の定義が実装されているのでこちらも参考にできる。
Viewの表示位置を設定する
android:layout_gravity
で設定する。
親のViewGroup
の領域に対してView
をどこに寄せて表示するかを設定でき、以下が設定できる。
center
center_vertical
center_horizontal
start
(=left
)top
end
(=right
)bottom
最終更新: 2025.7.31