以编程方式将strokeColor设置为CardView

时间:2019-06-14 09:38:39

标签: android kotlin android-cardview materialcardview

我正在尝试以编程方式设置strokeColor,但是它不起作用。这就是我尝试过的

gold_card.strokeColor= Color.GREEN

看一下strokeColor的官方方法,它需要一个参数

public void setStrokeColor(@ColorInt int strokeColor) {
    this.cardViewHelper.setStrokeColor(strokeColor);
}

因此,在传递Color int参数时,它说不可达的代码。下面的方法显示无法访问的代码

gold_card.strokeColor(Color.GRAY)

那么如何正确地将strokeColor设置为CardView? PS:是的,我正在使用MaterailCardView

3 个答案:

答案 0 :(得分:0)

更改为...

gold_card.strokeColor(R.color.GRAY);

gold_card.strokeColor(getResources().getColor(R.color.GRAY));

gold_card.strokeColor(Color.parseColor("#C8E6C9")); //your color code

答案 1 :(得分:0)

您可以使用方法 gold_card.setStrokeColor(ContextCompat.getColor(this,R.color.xxxx));

app:strokeWidth

还要确保设置strokeWidth(在布局中使用setStrokeWidth()或以编程方式使用方法0dp),因为默认值为sales.a

答案 2 :(得分:0)

您需要将 gold_card 定义为 MatericalCardView,而不是 CardView

MatrialCardView gold_card = findViewById(R.id.cold_card)