在Android xml布局中引用类中的静态字段

时间:2014-02-14 22:26:46

标签: android

说我在布局中跟随TextView

<TextView
    android:id="@+id/txtLoginError"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/sz_12dp"
    android:gravity="center"
    android:text="@string/foo" />

我是否可以将@dimen/sz_12dp更改为指向自定义类中的静态字段,例如:

public static class MyDimensions {
    public static int topMarginInPixels = 99; // which would be referenced in some fashion like android:layout_marginTop="@class/MyDimensions.topMarginInPixels"
}

我基本上正在寻找一种方法来实现数据绑定&#34;一些实验的布局元素;而不是加载视图然后在代码中修改它(findviewsetWeight等)我希望在创建过程中查看从我的自定义类中获取大小,就像它从R.java中获取它一样。

注意:我知道支持多个屏幕的最佳做法,px和amp;之间的差异。 dp,如何为不同的屏幕尺寸提供不同的res / values目录,所以请只有在你知道这个问题的答案而不是重复can be read on this link时才会回复。

1 个答案:

答案 0 :(得分:2)

无法实现您所描述的内容,但如果您真的想要像素且只有像素,那么您可以很好地将px大小而不是dp放在XML或维度文件中 - 但我猜你已经知道了。

编辑维度在运行时确实无法更改,但它甚至不应该;如果要在运行时为视图更改维度,请获取其LayoutParams对象并设置其宽度,高度,边距,填充或任何您想要更改的内容。