web-dev-qa-db-fra.com

Comment définir une image de fond pour une carte dans CardView?

J'ai une carte et je veux y ajouter du contenu. Comment dois-je ajouter des images et du texte à la carte? Voici mon code XML:

    <?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    tools:context="ml.vedantk.app.god.MainActivity">

    <Android.support.v7.widget.CardView
        Android:id="@+id/card1"
        Android:layout_width="364dp"
        Android:layout_height="389dp"
        Android:layout_marginEnd="8dp"
        Android:layout_marginStart="8dp"
        Android:layout_marginTop="64dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</Android.support.constraint.ConstraintLayout>

Voici le fichier Java:

package ml.vedantk.app.god;

import Android.support.annotation.ColorInt;
import Android.support.annotation.Nullable;
import Android.support.v7.app.AppCompatActivity;
import Android.os.Bundle;
import Android.support.v7.widget.CardView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        CardView card1 = (CardView)findViewById(R.id.card1);
        card1.setCardBackgroundColor(100);

    }
}

La card1.setCardBackgroundColor(100); n'a pas non plus changé la couleur de fond. Alors quelqu'un peut-il m'aider à ajouter une image?

2
Vedant

L'image ne peut pas être définie comme image d'arrière-plan pour une vue de carte.Mais vous pouvez utiliser la couleur d'arrière-plan à l'aide de setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorPrimary))

Si vous souhaitez définir une image d'arrière-plan à l'intérieur de Cardview, utilisez une autre disposition, telle que LinearLayout, RelativeLayout ou toute autre structure à l'intérieur de CardView. Et ajouter un fond pour cette mise en page. C’est l’un des moyens les plus simples de définir BackgroundImage pour CardView.

5
Tomin B Azhakathu

Avez-vous essayé cela?

      card1.setBackgroundResource(R.drawable.yourimage);
0
diegoveloper
  1. Afin de définir l’image de fond de la carte, nous devons ajouter une variable relative ou LinearLayout.
  2. Ajoutez RelativeLayout après les déclarations Cardview, de manière à pouvoir déplacer des éléments dans les cartes. 3.Ajouter le code suivant/L’échantillon est comme suit 

    Android:layout_width="match_parent"
    Android:layout_height="489dp"
    Android:layout_margin="10dp"
    Android:orientation="vertical"
    app:cardBackgroundColor="@color/cardview"
    app:cardCornerRadius="7dp"
    app:cardElevation="4dp"
    app:cardPreventCornerOverlap="false">
    <RelativeLayout
        Android:layout_width="wrap_content"
        Android:layout_height="match_parent"
        Android:background="@drawable/background">
    

4. Où Android:background="@drawable/background"> est mon nom d'image.

0
Ashishkumar Mouria