El mejor camino a seguir para este tipo de problema es crear un archivo dimens.xml
bajo los valores y poner en sus valores de inmersión allí, y luego en el código que extraer las dimensiones de ese archivo. Para eso están los recursos, ¿verdad? =)
He aquí un ejemplo de un dimens.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="about_image_bottom">0dp</dimen>
</resources>
y es así como se puede tirar hacia fuera en código:
RelativeLayout.LayoutParams iv_params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
iv_params.setMargins(0, 0, 0, (int) getResources().getDimension(R.dimen.about_image_bottom));
Y a continuación, establece los parámetros a cualquier objeto que necesita , en mi caso a la ImageView iv:
iv.setLayoutParams(iv_params);
+1 buena solución Gix .. –
Shou ldn't dimens.xml contiene dimen en dip en lugar de dp? Como dip es mucho más preciso ... – Salmaan
dip == dp, si revisas la respuesta aquí, tienen toda la información sobre lo que significan las diferentes unidades de medida en Android http://stackoverflow.com/questions/2025282/difference -between-px-dp-dip-and-sp-in-android – Gix