前書き
AndroidStudioのXMLフォーマッターの設定値は多岐にわたりうんざりするので設定例を記載しておきます。
※随時更新中
設定方法
上部メニューのFile > Preferences > Code Style > XML
を開きます。
Windowsの場合はFile > Settings > Code Style > XML
です。
各XMLファイルごとの設定値は以下です。
Android
タブを開きます。
Androidタブ | 該当ファイル |
---|---|
AndroidManifest.xml | マニフェストファイル |
Value Resource Files and Selectors |
<selector> 等のリソースファイル |
Layout Files | レイアウトXML |
Other XML resource files | その他のXML |
プロジェクト毎に設定
上部のスキーマをProject
に設定すると開いているプロジェクトのみ設定できます。
Default
に設定するとAndroidStudioのグローバル設定になります。
レイアウトXML編
レイアウトXMLのデフォルトフォーマット
xmlファイルを開いてCMD + ALT + L
またはCTRL + ALT + L
でフォーマットできます。
下記はデフォルト設定でフォーマットされたソースです。
<?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=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:fontFamily="sans-serif-light"
android:text="@string/happy_birthday_text"
android:textColor="@color/white"
android:textSize="36sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
最後の属性の後に改行を追加する
フォーマットをかけると末尾の>
や/>
が改行されるようになります。
<?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=".MainActivity"
>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:fontFamily="sans-serif-light"
android:text="@string/happy_birthday_text"
android:textColor="@color/white"
android:textSize="36sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
設定方法はAndroid
タブを開きInsert line break after last attribute
にチェックをつけます。
名前空間宣言を含めて改行する
フォーマットをかけるとConstraintLayout
の隣にあったxmlns:android="http://schemas.android.com/apk/res/android"
が改行されるようになります。
<?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=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:fontFamily="sans-serif-light"
android:text="@string/happy_birthday_text"
android:textColor="@color/white"
android:textSize="36sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
設定方法はAndroid
タブを開きInclude namespace declarations
にチェックをつけます。
名前空間宣言も含めて最後の属性の後に改行を追加する
フォーマットをかけるとConstraintLayout
の隣にあったxmlns:android="http://schemas.android.com/apk/res/android"
が改行されるようになります。
また、末尾の>
や/>
も改行されるようになります。
<?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=".MainActivity"
>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:fontFamily="sans-serif-light"
android:text="@string/happy_birthday_text"
android:textColor="@color/white"
android:textSize="36sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
設定方法はAndroid
タブを開きInclude namespace declarations
とInsert line break after last attribute
にチェックをつけます。
AndroidManifest.xml編
※準備中
セレクターxml編
※準備中
その他XML編
※準備中