说我在布局中跟随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;一些实验的布局元素;而不是加载视图然后在代码中修改它(findview
,setWeight
等)我希望在创建过程中查看从我的自定义类中获取大小,就像它从R.java
中获取它一样。
注意:我知道支持多个屏幕的最佳做法,px和amp;之间的差异。 dp,如何为不同的屏幕尺寸提供不同的res / values目录,所以请只有在你知道这个问题的答案而不是重复can be read on this link时才会回复。
答案 0 :(得分:2)
无法实现您所描述的内容,但如果您真的想要像素且只有像素,那么您可以很好地将px
大小而不是dp
放在XML或维度文件中 - 但我猜你已经知道了。
编辑维度在运行时确实无法更改,但它甚至不应该;如果要在运行时为视图更改维度,请获取其LayoutParams
对象并设置其宽度,高度,边距,填充或任何您想要更改的内容。