今、私はRecyclerViewと複数のCardViewを使ってアイテムを表示しています。Androidの複数の画像と動的な画像の整列
私のCardViewには、いくつかのImageViewsを追加するRelativeLayoutがあります(この場合は3ですが、それ以上の場合もあります)。
私の各アイテムには表示する画像のリストがあります。#item1にはFacebook、Twitter、Youtubeがありますが、#item2にはFacebookとYoutubeの画像があります。
イメージをどのように整列する必要がありますか? Twitterの画像を削除するだけの場合は、自分のFacebook画像のlayout_toLeftOfをYoutube画像に更新する必要があります。それは良いでしょう https://i.stack.imgur.com/uJZTi.png
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
card_view:cardCornerRadius="4dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/card_height"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal">
<ImageView
android:id="@+id/coverImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="centerCrop"
/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="end|top">
<ImageView android:background="@null"
android:id="@+id/facebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/facebook_icon"
android:layout_toLeftOf="@+id/twitter"/>
<ImageView android:background="@null"
android:id="@+id/twitter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/twitter_icon"
android:layout_toLeftOf="@+id/youtube"/>
<ImageView android:background="@null"
android:id="@+id/youtube"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/youtube_icon"
android:layout_alignParentRight="true"/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left|bottom"
android:background="@android:drawable/screen_background_dark_transparent"
android:orientation="vertical">
<TextView
android:id="@+id/titleTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="@dimen/text_size"
android:textColor="#FFFFFF"
android:textStyle="bold" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
うん、うまく見える!私はXMLに必要なすべてのImageViewを追加し、JavaでImageViewを削除する必要があります。いくつかの項目はすべての画像を持っていないので... –
あなたはコード内で可視性が「なくなった」か、またはXMLで静的に設定できます。 – Karim
私が言ったように私はLinearLayoutを使用しましたが、アンドロイド:layout_gravity = "end | top"は機能しませんでした。私は他の設定をしました。 Ty –