我注意到当我在xml中使用elevation属性并将其设置为4dp时,我得到一个普通的阴影。当我在java中使用setElevation(4)时,我得到的阴影比xml属性少。我该如何解决这个问题?
答案 0 :(得分:10)
Anton Kovalyov给出的answer几乎是正确的,但它实际上是相反的。要获得正确的高程,您需要将dp转换为像素并将其输入setElevation
,因此正确的答案如下所示:
setElevation(4 * context.getResources().getDisplayMetrics().density);
setElevation
获取像素值。用户TinTran的comment是正确的。
答案 1 :(得分:1)
答案 2 :(得分:0)
你可以用这个:
(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources().getDisplayMetrics())