【问题标题】:How to display images in a grid on a card view?如何在卡片视图的网格中显示图像?
【发布时间】:2021-08-28 19:31:44
【问题描述】:

我正在尝试在卡片视图上显示图像,如下图所示:

这是我的代码,但在运行时我只能看到卡片视图,图像和文本视图不显示。

  <androidx.cardview.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:cardCornerRadius="8dp"
                app:cardUseCompatPadding="true"
                android:layout_gravity="center_horizontal"
                app:cardBackgroundColor="@color/white"
                app:cardElevation="5dp"
                >
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:layout_marginTop="10dp"
                        android:fontFamily="@font/allerta"
                        android:text="Search by Speciality"
                        android:textSize="16sp"
                        android:textColor="@color/icontintblack" />

                    <GridLayout
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_margin="20dp"
                        android:columnCount="3"
                        android:rowCount="6">

                            <RelativeLayout
                                android:id="@+id/rlDermatologist"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="fill"
                                android:layout_columnWeight="1"
                                android:layout_rowWeight="1">

                                <de.hdodenhof.circleimageview.CircleImageView
                                    android:id="@+id/imgDerm"
                                    android:layout_width="60dp"
                                    android:layout_height="60dp"
                                    android:src="@drawable/ic_derma"
                                    app:civ_border_width="1dp"
                                    app:civ_border_color="@color/e_cure_blue"
                                    android:layout_centerHorizontal="true"/>

                                <TextView
                                    android:layout_below="@+id/imgDerm"
                                    android:layout_centerHorizontal="true"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:textSize="16sp"
                                    android:text="Skin\nSpecialist"
                                    android:textAlignment="center"/>

                            </RelativeLayout>
                    </GridLayout>
</androidx.cardview.widget.CardView>

我尝试使用线性布局实现网格项目(图像和文本视图)并且它们是可见的,但是使用线性布局时,设计没有响应,并且图像和文本视图没有正确对齐中心。 我是安卓开发新手。

【问题讨论】:

    标签: android xml android-layout android-cardview android-gridlayout


    【解决方案1】:

    为了实现这种布局,您可以使用recyclerviewGridLayoutmanagerStaggerLayoutManager

    如果您使用的是 GridLayout,那么您需要添加一个在 GridLayout 中重复的视图。有关 GridLayout 的信息,请查看link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-20
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      相关资源
      最近更新 更多