点击点按以编辑文字 CardView
时,我必须显示TextView
,点击外部会隐藏CardView
。我试图将CardView
背景切换为透明和白色,这样做并且它不起作用。然后我尝试将包含字母的EditText
和CardView
中的FrameLayout
隐藏起来并显示CardView
,但CardView
背景样式更改为透明做过某事。
你可以在下面找到我的xml。
请告诉我这里发生了什么?
XML
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_padding_2">
<android.support.v7.widget.CardView
android:id="@+id/cardView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="0dp"
app:cardCornerRadius="@dimen/box_radius"
app:cardElevation="0dp"
app:contentPadding="@dimen/margin_padding_2" />
<com.package.views.EditText
android:id="@+id/note"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:cursorVisible="false"
android:gravity="start"
android:lineSpacingExtra="@dimen/margin_padding_1"
android:padding="@dimen/margin_padding_2"
android:textColor="@color/colorWhite"
android:textSize="@dimen/text_size_5"
app:textStyle="bold" />
</FrameLayout>
代码
private void controlView() {
mCard.setVisibility(View.VISIBLE);
mNote.setBackgroundColor(ContextCompat.getColor(this, R.color.colorPrimary));
mNote.setCursorVisible(true);
mNote.setSelection(mNote.length());
}
答案 0 :(得分:3)
要以编程方式更改 cardview 的颜色,您可以使用:
mCard.setCardBackgroundColor(Color.TRANSPARENT);
用XML做事
mCard:cardBackgroundColor="@android:color/transparent"
答案 1 :(得分:2)
尝试使用
mCard.setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorPrimary));