例如,在我的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:在程序化布局中使用预定义的尺寸参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)