我注意到当我在xml中使用elevation属性并将其设置为4dp时,我会得到一个正常的阴影。但是当我在java中使用setElevation(4)时,我得到的阴影比xml属性少。我该怎么解决?
我注意到当我在xml中使用elevation属性并将其设置为4dp时,我会得到一个正常的阴影。但是当我在java中使用setElevation(4)时,我得到的阴影比xml属性少。我该怎么解决?
这是因为Java使用像素,所以您必须将其转换为dp
您可以使用以下内容:
(int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources().getDisplayMetrics())
你需要将像素转换为dpi:设置此视图的基本高度,以像素为单位。
setElevation(4 / context.getResources().getDisplayMetrics().density);