如何使xml布局具有列表外观?

时间:2019-06-21 08:20:12

标签: xml android-studio android-layout

我正在制作一个看起来像这样的XML布局:

enter image description here

但我不确定要使用哪种布局和视图,

不同部分将是一个指向其相关部分的图像按钮,还是我会怎么做?

我要添加不同的图像按钮,并让它们以线性布局到达其相关页面,这是正确的还是有更好的方法呢?

我还要如何在右上角做---?

2 个答案:

答案 0 :(得分:1)

您应该使用recyclerview来实现列表。对于布局部分,请参考第一项,将头骨,文本和前进图标放在一个布局中,然后recyclerview将根据以下内容自动填充正确的数据您的数据模型。 您可以在此处找到有关recyclerview的更多信息:-
https://developer.android.com/guide/topics/ui/layout/recyclerview

答案 1 :(得分:0)

这种布局是通过使用RecycleView完成的,但如果仅用于静态设计或静态数据,则需要将LinearLayoutCardView一起使用。这是在XML文件中使用的代码示例:

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="100"
        android:gravity="center_vertical">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:cardCornerRadius="4dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="20dp"
            app:cardElevation="10dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="50dp"
                    android:gravity="center_vertical"
                    android:orientation="horizontal"
                    android:paddingLeft="20dp"
                    android:paddingRight="20dp">

                    <ImageView
                        android:id="@+id/down1"
                        android:layout_width="25dp"
                        android:layout_height="25dp"
                        android:src="@drawable/ic_download" />

                    <View
                        android:layout_width="10dp"
                        android:layout_height="0dp"/>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Your Text Here"
                            android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead"
                            android:textColor="@color/black"
                            app:fontFamily="sans-serif-medium" />

                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="end"
                        android:orientation="vertical">

                        <ImageView
                            android:id="@+id/img2"
                            android:layout_width="25dp"
                            android:layout_height="25dp"
                            android:src="@drawable/ic_down" />


                    </LinearLayout>

                </LinearLayout>

                <View
                    android:layout_width="0dp"
                    android:layout_height="10dp" />

            </LinearLayout>

        </androidx.cardview.widget.CardView>

    </LinearLayout>

为确保此方法正常运行,请不要忘记在CardView中为build.gradle添加依赖项。您需要添加此行implementation 'com.android.support:cardview-v7:28.0.0'。 如果要使用更多行,请不要忘记制作NestedScrollView来启用滚动视图。

希望这会有所帮助。