Android:在程序化布局中使用预定义的尺寸参数

Android:在程序化布局中使用预定义的尺寸参数,第1张

概述我想在程序化布局中使用我的dimens.xml文件中的一些预定义维度. 例如,在我的dimens.xml文件中,我有: <dimen name="margin1">40dip</dimen><dimen name="margin2">40dip</dimen> 然后在我的程序化textview中我有: RelativeLayout.LayoutParams lpMargin = new Rela 我想在程序化布局中使用我的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会产生巨大的视野.

我已经发现了这个问题.如果我打印出来:

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

…它给出了一个巨大的价值:保证金宽度= 2131034112.弄乱它的是单位,“下降”.

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

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

@H_301_36@解决方法 使用

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

要么

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

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

总结

以上是内存溢出为你收集整理的Android:在程序化布局中使用预定义的尺寸参数全部内容,希望文章能够帮你解决Android:在程序化布局中使用预定义的尺寸参数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1123140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存