Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XML attributes order in Android Studio

I'm facing problem with keeping proper order of XML attributes in Android Studio. As you can see below, the style attribute is between layout_* attributes, but I want it to be ordered by name (like in Eclipse). I'm using standard Intellij code formatter and the Android Studio gives users ability to set your own rules regarding XML ordering. The settings are located in Code Style -> XML -> Arrangement, but it seems not to work or I'm using it wrong. Any ideas how to order XML attributes by name using default code formatter?

<TestView xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     style="@style/BackgroundLight"     android:layout_height="wrap_content">  </TestView> 
like image 671
tomrozb Avatar asked Aug 13 '13 09:08

tomrozb


People also ask

What is attr in Android XML?

An <attr> element has two xml attributes name and format . name lets you call it something and this is how you end up referring to it in code, e.g., R. attr.

What is mean first XML in Android?

eXtensible Markup Language, or XML: A markup language created as a standard way to encode data in internet-based applications. Android applications use XML to create layout files. Unlike HTML, XML is case-sensitive, requires each tag be closed, and preserves whitespace.

What are attributes in Android Studio?

Android Studio supports a variety of XML attributes in the tools namespace that enable design-time features (such as which layout to show in a fragment) or compile-time behaviors (such as which shrinking mode to apply to your XML resources).


1 Answers

Finally got it.

  1. Choose File > Settings > Code Style > XML > Set from > Predefined Style > Android
  2. Set File > Settings > Editor > Formatting > Show "Reformat Code" dialog
  3. Run formatting on a XML file (CTRL+ALT+L by default)
  4. You will see a popup window, set the Rearrange entries flag
  5. Disable Reformat Code dialog in the settings

This way every XML file formatting will set the attributes in a proper order.

Edit: Starting with Android Studio 0.2.6 release the XML Android style formatting is set by default, but you still have to set the Rearrange Entries flag manually.

http://tools.android.com/recent/androidstudio026released

Automatically apply the Android XML code style if a code style hasn't already been customized. This will make it possible to automatically order XML attributes (check the "Rearrange Entries" checkbox in the "Code > Reformat Code..." dialog.)

like image 63
tomrozb Avatar answered Sep 20 '22 18:09

tomrozb