Nexus平板电脑布局中静态和程序化声明之间的区别

时间:2014-10-29 10:00:22

标签: android android-layout android-xml

当声明一些元素(让我们说一个Button)并从XML文件中给它一些宽度和高度(让我们说200dp)时,我在运行时得到了一定的结果,尽管当它变成相同的时候步骤,但以编程方式我有更小的宽度和高度,这种情况只发生在Nexus平板电脑上。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果以编程方式设置View的大小,则会多次将像素作为参数。您需要先将DP中所需的大小转换为像素,然后使用它们来设置元素的宽度或高度:

float dp = 200;
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics());

请参阅特定视图的API文档,了解哪些维度被视为参数。