gpt4 book ai didi

Android:在编程布局中使用预定义的维度参数

转载 作者:太空宇宙 更新时间:2023-11-03 11:37:42 25 4
gpt4 key购买 nike

我想在我的编程布局中使用我的 dimens.xml 文件中的一些预定义维度。

例如,在我的 dimens.xml 文件中我有:

<dimen name="margin1">40dip</dimen>
<dimen name="margin2">40dip</dimen>

然后在我的编程 TextView 中我有:

RelativeLayout.LayoutParams lpMargin = new RelativeLayout.LayoutParams( R.dimen.margin1, R.dimen.margin2);

将布局参数应用于我的 textview 会产生巨大的 View 。

我已经找到问题了。如果我打印出来:

Log.e("Metrics", "margin width = " +  String.valueOf(R.dimen.margin1));

...它给出了一个巨大的值:margin width = 2131034112。搞砸的是单位,“下降”。

所以我的问题是:在没有单位的情况下指定维度以编程方式调用的正确方法是什么?如果那不可能,我可以更改 R.dimen.margin1 以便将其用作编程布局参数吗?

编辑:不是单位搞砸了——它返回了内部 ID! (正如 ianhanniballake 在下面所说,我需要调用 getResources().getDimension(R.dimen.margin1))。

最佳答案

使用

getResources().getDimension(R.dimen.margin1)

getResources().getDimensionPixelSize(R.dimen.margin1)

您的代码返回分配给“R.dimen.margin1”的内部 ID,而不是您在 XML 文件中分配的值。

关于Android:在编程布局中使用预定义的维度参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com