使用下面的代码,我尝试在单击其中一个视图时在另一个视图上绘制视图,并在再次单击时反转它。在API级别25,它工作正常,但在使用API 17的另一部手机上,它不起作用
private void elevationTest() {
final View view1 = findViewById(R.id.view1);
final View view2 = findViewById(R.id.view2);
final boolean[] asdf = {true};
view1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (asdf[0]) {
ViewCompat.setElevation(view1, 1);
ViewCompat.setElevation(view2, 2);
asdf[0] = !asdf[0];
} else {
ViewCompat.setElevation(view1, 2);
ViewCompat.setElevation(view2, 1);
asdf[0] = !asdf[0];
}
}
});
}
有没有办法让它成真?感谢。
修改 我没有尝试在我的视图下模拟阴影,只是试图将它们相互绘制(在这种情况下,单击第一个视图时)。
答案 0 :(得分:0)
在大多数情况下,开发人员使用布局填充来设置子视图的空间。如果子视图没有至少2dp的余量,您将看不到该视图的阴影。