片段 - 创建包含图像,文本和3个点的列表视图

时间:2018-05-10 13:09:49

标签: android listview android-fragments android-view android-relativelayout

当用户点击 FULL-TIME 按钮时,我想打开片段,该片段应显示包含图片文字的列表视图,每个视图右端的 3点找到下面的图像。怎么会这样呢?   。 enter image description here

这是我的代码。 的 home.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/layout_2nd"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/btn_full_time"
            android:layout_width="191dp"
            android:layout_height="60dp"
            android:layout_alignParentTop="true"
            android:text="@string/full_time" />

        <Button
            android:id="@+id/btn_part_time"
            android:layout_width="206dp"
            android:layout_height="60dp"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_toRightOf="@+id/btn_full_time"
            android:text="@string/part_time" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/layout_2nd">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ListView
                android:id="@+id/container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

            </ListView>
        </FrameLayout>

    </RelativeLayout>


</RelativeLayout>

我是否需要为每个视图创建单独的xml,或者我可以通过编程方式执行此操作吗?请提出建议?

1 个答案:

答案 0 :(得分:1)

您应该将android RecyclerView与自定义项目视图持有者一起使用,然后您可以创建自定义UI,如列表项目并将其添加到RecyclerView 见这个例子

https://www.androidhive.info/2016/01/android-working-with-recycler-view/

三个点 以垂直顺序创建具有三个视图的LinewLayout,并将它们作为自定义圆形drwable提供给:

drawable文件夹中的rounded_view.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="oval">
            <solid android:color="@color/black" />
            <size
                android:width="@dimen/dp_10"
                android:height="@dimen/dp_10" />
        </shape>
    </item>
</layer-list>

在主视图中的项目xml文件添加:

<LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_gravity="end"
            android:gravity="center">
                <View
                    android:layout_width="@dimen/dp_10"
                    android:layout_height="@dimen/dp_10"
                    android:background="@drawable/rounded_view"/>
                <View
                    android:layout_margin="@dimen/dp_5"
                    android:layout_width="@dimen/dp_10"
                    android:layout_height="@dimen/dp_10"
                    android:background="@drawable/rounded_view"/>
                <View
                    android:layout_width="@dimen/dp_10"
                    android:layout_height="@dimen/dp_10"
                    android:background="@drawable/rounded_view"/>
        </LinearLayout>