Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何设置CardView';以编程方式实现高程?_Android_Android Cardview - Fatal编程技术网

Android 如何设置CardView';以编程方式实现高程?

Android 如何设置CardView';以编程方式实现高程?,android,android-cardview,Android,Android Cardview,您好,我只想以编程方式设置cardview的高程,但似乎不起作用,以下是我的代码: CardView cardView = new CardView(this); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT); car

您好,我只想以编程方式设置cardview的高程,但似乎不起作用,以下是我的代码:

CardView cardView = new CardView(this);
    LinearLayout.LayoutParams params =
            new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
    cardView.setLayoutParams(params);
    LinearLayout linearLayout = (LinearLayout)findViewById(R.id.linear);
    cardView.setCardBackgroundColor(Color.WHITE);
    cardView.setCardElevation(1000);
    linearLayout.addView(cardView);
尽管SetCardEleveAction设置为1000,但cardview没有任何更改,这是怎么回事?
这里有一些相关的问题,但我无法得到答案。

使用
cardwiew.setMaxCardElevation(8)取而代之的是

来自立面的视图仅取决于阴影视图。当标高约为
2
10
,可能为
20
,且不多时,显示效果良好。当您设置
1000
这样的值时,由于距离太远,阴影几乎不可见(就像在现实世界中一样:)


尝试设置较低的标高。

好的,我遇到了一个棘手的问题,我的Cardview将其父视图包装起来,因此没有空间显示其阴影。最后,我在Cardview中添加了边距,现在它可以工作了

最低api为15,最高api为21


然而,XML属性“cardElevation”将为您实现这一点。由于材料设计指南规定CardView标高只能为8dp,因此您也可以在XML文件中一次性设置此值。

检查此项,删除
setCardElevation
您使用的android版本?如果你用的是棒棒糖前的升级卡,那就不行了。我的api最低版本是15,所以没有兼容的库@希曼舒克把答案写在下面,检查一下。
CardView cardView = new CardView(this);
        LinearLayout.LayoutParams params =
                new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,200);
        cardView.setLayoutParams(params);
        LinearLayout linearLayout = (LinearLayout)findViewById(R.id.linear);
        cardView.setCardBackgroundColor(Color.WHITE);
        cardView.setCardElevation(20);
        linearLayout.addView(cardView);