Android 如何设置CardView';以编程方式实现高程?
您好,我只想以编程方式设置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 = 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);