[英]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 將它的 Parent 包裹起來,所以沒有可用的空間來顯示它的陰影。 最后我在 Cardview 中添加了邊距,現在它起作用了!!
使用cardview.setMaxCardElevation(8);
相反
從海拔僅取決於視圖陰影。 這是很好時高程約所示2
, 10
,可以是20
而不是更。 當您設置1000
東西時,由於距離很遠,陰影幾乎不可見(就像在現實世界中一樣 :))。
嘗試設置較低的高度。
最小 api 為 15,最大為 21
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 Design Guideline 規定 CardView 高程只能為 8dp,因此您也可以在 XML 文件中一勞永逸地設置它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.