Автоматически добавленная зависимость ConstraintLayout в gradle

Просто я обновляю свою студию (версия 2.3) и собираю версию ('25.0.0'),

теперь, когда я пытаюсь создать новую активность, она автоматически constraintlayout dependency добавляется в мой файл build.gradle.

и макет рендерится как родительский ConstraintLayout, может кто-нибудь знает, как удалить эту зависимость при создании активности.

Перед созданием кода активности.

dependencies {
  compile 'com.android.support:support-v4:23.2.1'
}

После создания кода активности.

dependencies {
  compile 'com.android.support:support-v4:23.2.1'
  compile 'com.android.support.constraint:constraint-layout:1.0.0'
}

person Yogesh Rathi    schedule 14.03.2017    source источник
comment
Создайте пустую активность (новая-›деятельность-›пустая активность), если вы не хотите ConstraintLayout.   -  person Pushpendra    schedule 14.03.2017


Ответы (2)


Вы можете изменить файл макета шаблона по умолчанию в ресурсах Android Studio, путь к нему:

C:\Program Files\Android\Android Studio\plugins\android\lib\templates\activities\common\root\res\layout

Отредактируйте файл simple.xml.ftl и измените макет на свой выбор, обратите внимание, что некоторые макеты требуют дополнительных элементов (например, LinearLayout нужны android:orientation), сохраните файл и создайте активность в Android Studio, это должно работать.

Мой выглядит так (у меня 2.2.3, поэтому у меня есть RelativeLayout)

<?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>
person miljon    schedule 14.03.2017
comment
я использую линукс убунту - person Yogesh Rathi; 14.03.2017
comment
принцип будет аналогичен, зайдите в папку Android Studio по пути который я написал или ищите файл simple.xml.ftl - person miljon; 14.03.2017
comment
это работает, но вы дали половинчатый ответ, что я делаю, тогда автоматическая зависимость градации не добавит - person Yogesh Rathi; 14.03.2017
comment
Я предполагаю, что Gradle автоматически импортирует необходимые ресурсы после создания новой Activity, вы можете отключить автоматический импорт Gradle, но эта опция удалена в более новых версиях Android Studio, и я бы не рекомендовал. Это более сложная проблема, чем Android Studio. - person miljon; 14.03.2017
comment
нужно больше исследовать - person Yogesh Rathi; 14.03.2017

последняя версия Android автоматически поддерживает макет ограничений, если вы все еще не можете использовать его, чем в файле build.gradle, добавьте эту зависимость implementation 'com.android.support.constraint:constraint-layout:1.1.3'

person Monika Mishra    schedule 07.12.2019