🦔
【Android】ツール属性について
ツール属性
- tools 名前空間(
xmlns:tools="http://schemas.android.com/tools"
)でサポートされている様々な XML 属性 - 設計時の機能 や コンパイル時の動作 を指定することが出来る
- 有効にした XML 属性はビルド時に削除されるので、APK のサイズとアプリを実行した時の動作に影響しない
使い方
ルートタグにxmlns:tools="http://schemas.android.com/tools"
を追加する。
属性の種類
エラー処理属性
lint の警告メッセージを抑制する属性。
tools:ignore
- 属性を使用するツール : lint
- 対象の要素または下位の要素に対して、lint で無視するものを指定する
<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>
tools:targetApi
- 属性を使用するツール : lint
- Java の
@TargetApi
[1]と同じように動作する - 指定した API バージョンでのみ要素を使うことを lint に伝える
-
minSdkVersion
のAPIレベルでその要素が使えない場合でも、lint は警告を出さなくなる
<!-- GridLayoutはAPIレベル14以降で使用可能。14未満で使用しない時は、targetApiに14を指定する -->
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="14" >
tools:locale
- 属性を使用するツール : lint、Android Studio
-
<resources>
要素内のデフォルトの言語を指定できる(指定しなかった場合は英語)
<!-- strings.xmlに指定した場合、使用する言語が英語ではなくスペイン語だと示すことが出来る -->
<resources xmlns:tools="http://schemas.android.com/tools"
tools:locale="es">
設計時の View 属性
tools:context
- 属性を使用するツール : lint、Android Studio Layout Editor
- レイアウトが関連付けられる Activity を指定する
- クイックフィックスから、onClick ハンドラを Activity に作成する等できる
onClickハンドラをMainActivityに作成する
tools:itemCount
- プレビューに表示する RecyclerView のアイテム数を指定する
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:itemCount="2" />
RecyclerViewのプレビュー
@tools:sample/*
- 属性を使用するツール : Android Studio Layout Editor
- プレースホルダのデータや画像を挿入することができる
<!-- @tools:sample/first_names と @tools:sample/last_namesからランダムに作成されたフルネーム -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:text="@tools:sample/full_names" />
<!-- 世界中の都市の名前 -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:text="@tools:sample/cities" />
<!-- 指定された形式でランダムに生成された日付または時刻 -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:text="@tools:sample/date/hhmmss" />
<!-- プロフィールアイコンとして使用出来る画像 -->
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@tools:sample/avatars" />
<!-- 背景として使用出来る画像 -->
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
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" />
-
SDKバージョンの警告を無視するアノテーション ↩︎
Discussion