如何以编程方式设置 CardView 的高度?
How to set CardView's elevation programmatically?
您好,我只想以编程方式设置 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);
尽管 setCardEleveation 设置为 1000,但 cardview 没有任何变化,有什么问题吗?
那里有一些相关的问题,但我找不到答案。
使用 cardview.setMaxCardElevation(8);
代替
从高程看,仅视图阴影。当海拔约为 2
、10
、可能是 20
而不是更多时,它会很好地显示出来。当你设置类似 1000
的东西时,由于距离很远,阴影几乎看不见(就像在现实世界中一样:))。
尝试设置较低的高度。
好吧,我遇到了一个棘手的问题,我的 Cardview 包裹了它的父对象,所以没有 space 可以用来显示它的影子。最后,我在 Cardview 中添加了边距,现在可以使用了!!
最小值api为15,最大值为21
Image of the code
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);
然而,XML 属性 "cardElevation" 将为您实现这一目标。由于 Material 设计指南规定 CardView 高度只能为 8dp,因此您也可以在 XML 文件中一劳永逸地设置它。
您好,我只想以编程方式设置 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);
尽管 setCardEleveation 设置为 1000,但 cardview 没有任何变化,有什么问题吗? 那里有一些相关的问题,但我找不到答案。
使用 cardview.setMaxCardElevation(8);
代替
从高程看,仅视图阴影。当海拔约为 2
、10
、可能是 20
而不是更多时,它会很好地显示出来。当你设置类似 1000
的东西时,由于距离很远,阴影几乎看不见(就像在现实世界中一样:))。
尝试设置较低的高度。
好吧,我遇到了一个棘手的问题,我的 Cardview 包裹了它的父对象,所以没有 space 可以用来显示它的影子。最后,我在 Cardview 中添加了边距,现在可以使用了!!
最小值api为15,最大值为21
Image of the code
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);
XML 属性 "cardElevation" 将为您实现这一目标。由于 Material 设计指南规定 CardView 高度只能为 8dp,因此您也可以在 XML 文件中一劳永逸地设置它。