当声明一些元素(让我们说一个Button)并从XML文件中给它一些宽度和高度(让我们说200dp)时,我在运行时得到了一定的结果,尽管当它变成相同的时候步骤,但以编程方式我有更小的宽度和高度,这种情况只发生在Nexus平板电脑上。
答案 0 :(得分:0)
如果以编程方式设置View的大小,则会多次将像素作为参数。您需要先将DP中所需的大小转换为像素,然后使用它们来设置元素的宽度或高度:
float dp = 200;
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, getResources().getDisplayMetrics());
请参阅特定视图的API文档,了解哪些维度被视为参数。