Androidのツール属性について
今回はAndroidのレイアウト作成時に使うツール属性について書いていこうと思います
ツール属性は主にレイアウトのプレビュー確認で使う名前空間です
<TextView android:id="@+id/cardTextView" android:layout_width="match_parent" android:layout_height="match_parent" tools:text="TextView" android:textAlignment="center" android:textSize="18sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
例えば上記のレイアウトが存在するとして、android:
から始まるものは実行時にどう表示するかの設定を行い、tools:
から始まるものはプレビューで確認するときの設定を行います
ツール属性の設定
toolsを使えるようにするためにはxmlファイルのルート要素(1番上の要素)に下記を追加します。
設定はこれだけです。次にどんなことができるのかを見ていきましょう!
xmlns:tools="http://schemas.android.com/tools"
ツール属性の種類
ここからはツール属性の種類を見ていきましょう
tools:text
まずは個人的によく使うtools:text
です
これは固定文言ではなく、場合によって文言が変更する場合に設定した文言をプレビューでどう表示されるか確認するために使います
tools:text="TextView"
上記を例えば、TextViewに設定するとプレビューでTextViewと表示されます。実際にアプリを起動した場合にはTextViewとは表示されないのであくまでも確認のために使われます
tools:ignore
レイアウトの警告を無視したい場合に使います
本当に無視していいものなのかは確認して無視するべきものだけに使うべきだと個人的に思っているので、ほとんど使わないと思います
ある要素に設定するとその要素と全ての子要素に適用されるので、レイアウトファイルの全てに適用したい場合はトップの要素に記述します
<ImageView android:layout_width="200dp" android:layout_height="200dp" tools:igonre= "contentDescription" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" tools:src="@tools:sample/backgrounds/scenic" />
tools:src
tools:text
に似ていますが、レイアウトの画像を確認したい場合に使います
<ImageView android:layout_width="200dp" android:layout_height="200dp" tools:igonre= "contentDescription" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" tools:src="@tools:sample/backgrounds/scenic" />
tools:context
tools:context
はレイアウトファイルのトップ要素に追加してどのActivityやFragemtをプレビューで表示させるかを設定するものです。
<?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:layout_width="match_parent" android:layout_height="match_parent" tools:context=".tutorial.MainActivity"> </androidx.constraintlayout.widget.ConstraintLayout>
tools:layout
tools:layout
はFragementで使うもので、プレビューでフラグメント内に描画されるレイアウトを宣言できます
下記のように設定することでフラグメント内に描画されるレイアウトをプレビューで確認できるようになります
<fragment android:name="com.example.main.ItemListFragment" tools:layout="@layout/list_content" />
tools:layout
tools:layout
はFragementで使うもので、プレビューでフラグメント内に描画されるレイアウトを宣言できます
下記のように設定することでフラグメント内に描画されるレイアウトをプレビューで確認できるようになります
<fragment android:name="com.example.main.ItemListFragment" tools:layout="@layout/list_content" />
tools:itemCount
tools:itemCount
はRecyclerViewで使うもので、指定した個数分のアイテムをプレビューで表示させます
実際のデータとは異なるので注意です
<androidx.recyclerview.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" tools:itemCount="3" />
開発時にビルドせずプレビューで確認できるので、便利な機能です
ここまで個人的に使うものを羅列しましたが、ツール属性はまだまだあります
公式ドキュメントのリンクを参照に載せておくので、一度見てみてください