有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Android代码中使用app:elevation

我试图通过代码设置AppBarLayout的高程。当我在XML中执行app:elevation时,它可以顺利地工作,但是当我执行时

appBarLayout.setElevation(0);

它不起作用

我的假设是它调用了安卓:elevation的等价物

有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    我不知道您使用的是哪个api版本,但至少您必须使用APIV21来设置高程。如果您在lolipop前设置了标高,您应该会得到一个错误,但请这样使用:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
           appBarLayout.setElevation(0);
        }
    

    如果在v21以下版本上使用,则会出现以下错误:

    FATAL EXCEPTION: main
    java.lang.NoSuchMethodError: android.support.design.widget.AppBarLayout.setElevation
    

    结果是: enter image description here