20

I am trying to consistently use the same dimension in all the views in my android app (e.g., a left margin of 20dp). If I were using HTML, I would simply use a CSS file, but I am at a loss of how to do this on Android.

Is there a way I can store this value in a xml file inside res/values and then use it in layouts?

e.g., I thought of storing them in strings.xml like

<string name="app_wide_left_padding">20dp</string>

and then using the following text in layout.xml

android:paddingLeft="@string/app_wide_left_padding"

but I am not sure it will work. Am I on the right track?

Thanks in advance for your answers.

Animesh
  • 1,765
  • 2
  • 22
  • 36

2 Answers2

37

Create a file called res/values/dimens.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="icon_width">55dip</dimen>
    <dimen name="icon_height">55dip</dimen>
    <dimen name="photo_width">170dip</dimen>
    <dimen name="photo_height">155dip</dimen>
</resources>

Then reference them in your other xml:

android:padding="@dimen/icon_width">
I82Much
  • 26,901
  • 13
  • 88
  • 119
1

You can use styles (res/values). This article will be a good start.

cement
  • 2,905
  • 1
  • 23
  • 20
  • The name of the xml file does not matter, though making a structure within the xml files that you can easily understand is recommended... – Joris Kroos Nov 12 '13 at 09:40