Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Storing dimensions in xml file in Android

Tags:

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.

like image 820
Animesh Avatar asked Oct 07 '10 19:10

Animesh


People also ask

What is the purpose of dimens XML?

dimens. xml is used for defining the dimensions for different widgets to be included in the Android project. It is a good coding practice to use dimens.

How does Android define Dimen?

A dimension is specified with a number followed by a unit of measure. For example: 10px, 2in, 5sp. The following units of measure are supported by Android: dp.

How do you make Dimen?

To create another dimens. xml file, right click your res folder and choose New > Value resource file. Then write in dimens and choose Smallest Screen Width. Write in 600 for the width (7” tablet).


2 Answers

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">
like image 153
I82Much Avatar answered Sep 24 '22 08:09

I82Much


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

like image 45
cement Avatar answered Sep 25 '22 08:09

cement