How to switch from the default ConstraintLayout to RelativeLayout in Android Studio

113,507

Solution 1

Well, I saw the answer above and it worked for me too. But, I gave it a shot, and succeded converting my current project to Relative Layout. Do as follows:

At activity_main.xml tab, change it to text. At the top of it, you'll find the following:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"

Just change all before xmlns to RelativeLayout. Doing so will also change the very bottom line where you would find:

</android.support.constraint.ConstraintLayout>

to

</RelativeLayout>

Problem solved! Be happy :P

Solution 2

I am answering this for android studio 2.3.1. One of the easiest ways to set RelativeLayout as default layout is going to text mode and editing the XML file as follows:

Change this line:

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"

To

<android.widget.RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

And do check your ending tag changes to this:

</android.widget.RelativeLayout>

Also (optionally) go ahead and delete this line if it's being shown in grey:

xmlns:app="http://schemas.android.com/apk/res-auto"

Edit:

This is an optional change to make in project, I came across this tip while going through Udacity's Android Developer Course

If the constraint layout is not needed in the project remove the following dependency from build.gradle by deleting this line and then doing gradle sync:

    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'

Solution 3

Android studio 3.0

step0:

Close android studio

step1:

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

step2:

Backup simple.xml.ftl

step3:

Change simple.xml.ftl to code below and save :

<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/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="12dp"
    android:layout_marginTop="21dp"
    android:text="don't forget to click useful if this helps. this is my first post at stackoverflow!"
    android:textSize="20sp"
    />

</RelativeLayout>

Solution 4

for android studio 3.1

If you want your default android studio change, just follow bellow steps:

first

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

i.e. the file directory where you have installed android studio.

then

copy simple.xml from another place just for backup

after that

open simple.xml file and replace it's code as bellow

<?xml version="1.0" encoding="utf-8"
<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}">



</RelativeLayout>

but if you just want to change this project layout, just go to activity_main.xml and then go to text and post upper code to there

Solution 5

I think u want to change the default settings of android studio. Whenever a layout or Activity in created u want to create "RelativeLayout" by default. In that case, flow the step below

  1. click any folder u used to create layout or Activity
  2. then "New>> Edit File Templates
  3. then go to "Other" tab
  4. select "LayoutResourceFile.xml" and "LayoutResourceFile_vertical.xml"
  5. change "${ROOT_TAG}" to "RelativeLayout"
  6. click "Ok"

you are done

Share:
113,507

Related videos on Youtube

Suhaib
Author by

Suhaib

I wish every human knows about Ubuntu!!

Updated on July 09, 2022

Comments

  • Suhaib
    Suhaib almost 2 years

    I have the latest android Studio (2.3 beta 3) and it seems ConstraintLayout is the default when creating a project. How can I make Android Studio use the RelativeLayout as the default layout element for new projects ?

    enter image description here

  • Samir Baid
    Samir Baid over 6 years
    This forces the width and height to static numbers. If this approach is needed, then it would be better to right click on ConstraintLayout and do inferConstraints so as to make width and height as Match_parent
  • David Cary
    David Cary over 6 years
    This worked for me. This is the only answer that actually changes the default; all the other answers only change it for the current project and it goes back to constraintLayout the next time I start a new Android Studio project.
  • David Cary
    David Cary over 6 years
    Mac users: See stackoverflow.com/questions/23537065/… for the location of the plugin folder on the mac.
  • Chad Bingham
    Chad Bingham about 6 years
    This is the only answer that says how to change from the default layout.
  • angryITguy
    angryITguy almost 6 years
    This answer doesn't address the question, which is asking how to change the default layout when creating a project.
  • sh.e.salh
    sh.e.salh over 5 years
    This answer changes the layout for "current" project the question is for changing the default layout , if you rarely use a constraint layout then it is waste of time to change the layout on each project you create and therefor you should change the default file template to the code you like to start with.
  • Faisal
    Faisal over 5 years
    this did not work for me . ! i changed the the root_tag to relative layout as suggested in both the files, but in vain !
  • Shahadat Hossain Shaki
    Shahadat Hossain Shaki over 5 years
    can you provide a screenshot ?
  • Ali Khaki
    Ali Khaki about 5 years
    what relate between this answer and question?
  • Mohit Atray
    Mohit Atray about 3 years
    No, but this is not the right way because if we do that, then if we create new layout, then in the new layout dialog, whatever root layout we specify, RelativeLayout will be put there. So the value of variable ROOT_TAG needs to be changed.