Je ne parviens pas à obtenir l'image au centre du bureau. L'image est toujours sur le côté gauche. C'est LinearLayout I un certain ScrollView.
<android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" app:cardCornerRadius="80dp" app:cardElevation="10dp" android:gravity="center" android:orientation="vertical"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/titelbild280x280" android:layout_centerHorizontal="true" android:layout_centerVertical="true"/> </android.support.v7.widget.CardView>
5 Réponses :
CardView est une extension de FrameLayout. Vous devez donc utiliser les mêmes valeurs de disposition que vous le feriez dans un FrameLayout.
Pour centrer une vue enfant, vous utilisez:
<android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" app:cardCornerRadius="80dp" app:cardElevation="10dp" android:orientation="vertical"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:src="@drawable/titelbild280x280" /> </android.support.v7.widget.CardView>
Ainsi, votre mise en page devient:
android:layout_gravity="center"
Cependant, notez que CardView dans cet exemple utilise wrap_content , de sorte qu'il enveloppera fermement l'image et il n'y aura plus rien à centrer. Pour que la gravité ait un effet, CardView doit être plus grande que ImageView.
J'ai même rendu l'image très petite et modifiée pour correspondre au contenu de CardView, mais de toute façon cela ne fonctionne pas
Essayez celui-ci J'espère que cela fonctionnera pour vous
<android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" app:cardCornerRadius="80dp" app:cardElevation="10dp" android:gravity="center" android:foreground="?android:attr/selectableItemBackground" android:clickable="true" android:orientation="vertical"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@+id/featureimage" android:layout_width="100dp" android:layout_height="100dp" android:layout_centerInParent="true" android:src="@drawable/image"/> </RelativeLayout> </android.support.v7.widget.CardView>
Essayez simplement ceci:
<?xml version="1.0" encoding="utf-8"?> <androidx.cardview.widget.CardView 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="wrap_content" tools:context=".MainActivity"> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:adjustViewBounds="true" android:src="@drawable/some_img" /> </androidx.cardview.widget.CardView>
Vous devez utiliser une mise en page ( ConstraintLayout
ou RelativeLayout
ou LinearLayout
) pour gérer plusieurs vues en vue carte
Actuellement, le système d'interface utilisateur Android est profondément associé à ConstraintLayout
pour gérer la mise en page complexe et la rendre facilement, donc les codes suivants peuvent vous aider
<android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" app:cardCornerRadius="80dp" app:cardElevation="10dp" android:gravity="center" android:orientation="vertical"> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/titelbild280x280" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"/> </android.support.constraint.ConstraintLayout> </android.support.v7.widget.CardView>
Merci.
p>
Veuillez essayer le code suivant:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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=".MainActivity" android:gravity="center"> <android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" app:cardCornerRadius="10dp" app:cardElevation="10dp" android:orientation="vertical"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/titelbild280x280" android:layout_gravity="center"/> </android.support.v7.widget.CardView> </LinearLayout>
J'espère que cela fonctionne pour vous.
Bienvenue, si cela fonctionne pour vous, veuillez me donner quelques points et marquer comme une bonne réponse
Pouvez-vous publier votre fichier XML complet?