Android 是否可以在布局xml文件中引用某个id,但该id指向的值可以更改?

Android 是否可以在布局xml文件中引用某个id,但该id指向的值可以更改?,android,android-layout,Android,Android Layout,或者问题可能是布局文件中的元素引用的“变量”的值是否可以在运行时更改 一种类似的情况是,我们可以将元素高度指定为actionBar的高度 android:layout_height=“?attr/actionBarSize” 并根据其运行的设备获取实际高度 用例将有一个布局元素,其高度是动态变化的。在布局文件中,是否可以将高度指向“变量”,并在运行时动态更改变量的值,这样当布局膨胀时,它将拾取最新的值?像这样创建不同的值文件夹 res/values/dimens.xml res/valu

或者问题可能是布局文件中的元素引用的“变量”的值是否可以在运行时更改

一种类似的情况是,我们可以将元素高度指定为actionBar的高度

android:layout_height=“?attr/actionBarSize”

并根据其运行的设备获取实际高度


用例将有一个布局元素,其高度是动态变化的。在布局文件中,是否可以将高度指向“变量”,并在运行时动态更改变量的值,这样当布局膨胀时,它将拾取最新的值?

像这样创建不同的值文件夹

res/values/dimens.xml    
res/values-small/dimens.xml    
res/values-normal/dimens.xml    
res/values-xlarge/dimens.xml
int myVal = getResources().getDimension(R.dimen.my_val);
根据设备的不同,将自动从文件夹的

在dimens.xml中定义值

<dimen name="my_val">50dp</dimen>

如果是以编程方式,则可以使用
view.setLayoutParams
设置高度和宽度。否则,您可以始终拥有一个
dimens.xml
文件,其中存储不同配置的值文件夹

使用资源中的值文件夹为不同的设备配置定义不同的值,但是无法预定义该值。不希望在运行时访问视图的布局,只需将该值设置为所引用视图元素的“id”,因为此布局在不同父容器中的许多位置使用。也许为那个特定的布局创建一个子类并覆盖它的onMeasure()或其他一些东西。运行时不必赋值。只要把它们放到xml中,android就会处理剩下的事情。您所要做的就是为不同的设备配置创建不同的xml。