Как изменить поведение Android Studio по умолчанию


Можем ли мы изменить поведение сборки по умолчанию Android Studio с ограничения на относительную компоновку?

Проблема: Иногда требуется больше времени, чтобы очистить / перестроить мой проект. И я никогда не использую компоновку ограничений, поэтому я хочу задать поведение сборки Android Studio от Constraint Layout до Relative Layout.

Я хочу каждый раз, когда я открываю, как, он должен открывать относительный. Можно ли этого достичь?

3 2

3 ответа:

Сделайте макет по умолчанию Relative для текущего проекта

Сначала откройте ваш файл .xml и измените ваш макет constraint на макет relative. Затем перейдите в Главное меню вашего Android Studio с открытым проектом. Затем перейдите на вкладку "Окно", затем выберите"Сохранить текущий макет по умолчанию". Если по умолчанию используется не то, что вам нужно, загрузите макет, который вы хотели бы использовать по умолчанию, и установите его в качестве макета по умолчанию.

Сделайте макет по умолчанию Relative для всех проектов

Просто измените файл макета шаблона, который присутствует в ресурсах android studio

C:\Program Files\Android\Android Studio\plugins\android\lib\templates\activities\common\root\res\layout
Теперь отредактируйте этот файл simple.xml.ftl и измените макет на свой выбор( Примечание. для создания относительного значения по умолчанию просто скопируйте код ниже в свой файл simple.xml.ftl, обратите внимание, что некоторые макеты требуют дополнительных элементов (например, LinearLayout нуждается в android:orientation), сохраните файл и создайте активность в Android Studio, это должно работать.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
<#if hasAppBar && appBarLayoutName??>
    xmlns:app="http://schemas.android.com/apk/res-auto"
</#if>
    android:id="@+id/${simpleLayoutName}"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
<#if hasAppBar && appBarLayoutName??>
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/${appBarLayoutName}"
</#if>
    tools:context="${relativePackage}.${activityClass}">

<#if isNewProject!false>
    <TextView
<#if includeCppSupport!false>
        android:id="@+id/sample_text"
</#if>
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</#if>
</RelativeLayout>

Имейте в виду, если вы изменяете простой.xml, программа обновления android studio обнаружит конфликт и предотвратит применение обновления. Сохраните свою копию :)

Довольно легко - всего за 3 шага

  1. Гото C:\Program Files\Android\Android Studio\plugins\android\lib\templates\activities\common\root\res\layout
  2. резервное копирование simple.xml.ftl
  3. изменить simple.xml.ftl Чтобы ниже код и сохранить его

<RelativeLayout 
    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="${packageName}.${activityClass}">

<TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:text="Sample"
    android:textSize="16sp" />
</RelativeLayout>

Испытано и проверено на Windows 10 build:gradle:3.0.1

  • работает для каждого нового вида деятельности в том же проекте, а также для будущих проектов.
  • Примечание: необходимо изменить файл simple.xml.ftl с правами администратора
  • чтобы это сработало вам не нужно редактировать layout > New > Edit File Templates... ваши layoutResourceFile и layoutResourceFile_vertical путем удаления ${ROOT_TAG} - как я уже пытался, но это не работает.