0

Я должен показать CardView при наклейке Нажмите, чтобы отредактировать текстTextView и постукивая снаружи, спрячет CardView. Я попытался переключить фон CardView на прозрачный и белый для этого, и он не работает. Затем я попытался поставить оба EditText, который содержит буквы и CardView в FrameLayout, затем скрыл и показал CardView, но CardView стиль фона изменился на прозрачный. Вы можете найти мой xml ниже. Скажите, пожалуйста, что здесь происходит?Кард-фон меняется при изменении видимости?

enter image description here

enter image description here

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()); 
} 

ответ

2

Попробуйте использовать

mCard.setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorPrimary)); 
+0

'mNote' это мой' EditText' .Я с просьбой о 'CardView' – Stella

+0

Спасибо. Это работает .. – Stella

+0

Я рад, что это помогло .. !! :) –

3

изменить цвет cardview программно вы можете использовать:

mCard.setCardBackgroundColor(Color.TRANSPARENT); 

Чтобы сделать в XML

mCard:cardBackgroundColor="@android:color/transparent" 
+0

Thank you.It's work .. – Stella

+0

Спасибо за объявление. @ Stella –

+0

Оба ответа кажутся правильными, но 'janki gadhiya' опубликовал первый, так что я принимаю это, и я проголосовал за ваше слишком. Спасибо – Stella

Смежные вопросы