如何在列表视图中删除项目填充?

时间:2018-08-31 04:01:17

标签: android listview

我最近用数组适配器和customview创建了一个列表视图。这是我的工作

 @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final Model_order m_order = getItem(position);
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.single_item_order, parent, false);
        }
...
}

这是我的single_item_order

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

    >

<TextView
    android:layout_gravity="center_vertical"
    android:visibility="invisible"
    android:textAlignment="center"
    android:layout_width="0dp"
    android:layout_weight="0"
    android:layout_height="wrap_content"
    android:id="@+id/code"
    android:includeFontPadding="false"
    android:lineSpacingExtra="0dp"

    />

<TextView
    android:includeFontPadding="false"
    android:lineSpacingExtra="0dp"

    android:layout_gravity="center_vertical"
    android:textAlignment="center"
    android:id="@+id/name"
    android:layout_width="0dp"
    android:layout_weight="35"
    android:layout_height="wrap_content" />

<TextView
    android:includeFontPadding="false"
    android:lineSpacingExtra="0dp"

    android:layout_gravity="center_vertical"
    android:textAlignment="center"
    android:id="@+id/price"
    android:layout_width="0dp"
    android:layout_weight="35"
    android:layout_height="wrap_content" />

    <TextView
        android:includeFontPadding="false"
        android:lineSpacingExtra="0dp"

        android:id="@+id/qty"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="10"
        android:textAlignment="center"
         />

    <TextView

    android:textAlignment="center"
    android:id="@+id/total"
    android:layout_width="0dp"
    android:layout_weight="20"
    android:layout_height="wrap_content" />

    <Button
        android:id="@+id/add"
        android:layout_gravity="center_vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+"
        android:minHeight="0dp"
        android:minWidth="0dp" />

    <Button
        android:id="@+id/min"
        android:layout_gravity="center_vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="-"
        android:minHeight="0dp"
        android:minWidth="0dp" />

</LinearLayout>

这就是我得到的

enter image description here

现在,我正在尝试删除填充。这是我到目前为止尝试过的

  • 在我的single_item_order中添加填充0dp仍然不起作用
  • android:dividerHeight="0dp"添加到我的列表视图标记中仍然无效
  • 仍然尝试https://stackoverflow.com/a/5309871/10298089此答案 没有帮助

那么我该如何删除它?或者至少我可以调整填充。

这是我的主要活动,其中包含我的列表视图

<?xml version="1.0" encoding="utf-8"?>


    <LinearLayout
        android:orientation="horizontal"
        android:id="@+id/bubble_outerWrapper"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="100"
        xmlns:android="http://schemas.android.com/apk/res/android">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="0dp"
            android:layout_weight="50"
            android:layout_height="match_parent"
            android:background="@android:color/transparent"
            android:clipToPadding="false"
            android:layout_marginBottom="0dp"
            />
        <View

            android:layout_width="0dp"
            android:layout_weight="5"
            android:layout_height="match_parent" />

        <android.support.v7.widget.CardView
            android:layout_gravity="end"
            android:layout_width="0dp"
            android:layout_weight="45"
            android:padding="0dp"
            android:layout_margin="0dp"
            android:layout_height="match_parent">
                <RelativeLayout

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

                    <TextView
                        android:id="@+id/side_title"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center_vertical"
                        android:text="Order Information"
                        android:textSize="14sp"
                        android:typeface="serif" />

                        <ListView
                            android:layout_below="@id/side_title"
                            android:layout_marginTop="5dp"
                            android:id="@+id/listss"
                            android:layout_width="match_parent"
                            android:layout_height="250dp" />
    <LinearLayout
        android:layout_below="@id/listss"
    android:layout_centerHorizontal="true"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
                        <Button
                            android:minHeight="0dp"
                            android:minWidth="0dp"
                            android:id="@+id/clear"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="X"
                            />

                        <Button

                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Pay"
                            />

    </LinearLayout>
                </RelativeLayout>
        </android.support.v7.widget.CardView>

    </LinearLayout>

2 个答案:

答案 0 :(得分:1)

更简单的布局如下所示:

  • 垂直LinearLayout,其中包含ListView和操作栏
  • 用于操作栏的LinearLayout的高度为wrap_content,因此只能获得其子级所需的高度
  • ListView的{​​{1}}至height,其0dpweight,以便占用操作栏剩余的所有可用空间
1

如果还有空间,您应该向我们明确显示列表项的布局

注意:
在Android Studio中,尝试单击<?xml version="1.0"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawingCacheQuality="high"> <ListView android:id="@+id/messagingListView" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:divider="@null" android:layout_margin="0dp" android:dividerHeight="10dp" android:paddingTop="10dp" android:paddingRight="10dp" android:paddingBottom="0dp" android:paddingLeft="10dp" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="0dp" android:background="#FFFFFF"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="new_game" android:textColor="#FFFFFF" /> </LinearLayout> </LinearLayout> 以使其在LinearLayout中突出显示,然后单击Preview以查看是否存在间隙(使用缩放)。 如果您发现上方的布局存在间隙,则说明它是计算机上的ListView错误,它适用于所有设备。

答案 1 :(得分:0)

尝试一下

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

<!--<TextView-->
    <!--android:layout_gravity="center_vertical"-->
    <!--android:visibility="visible"-->
    <!--android:textAlignment="center"-->
    <!--android:layout_width="0dp"-->
    <!--android:layout_weight="0"-->
    <!--android:layout_height="wrap_content"-->
    <!--android:text="asdfa"-->
    <!--android:includeFontPadding="false"-->
    <!--android:lineSpacingExtra="0dp"-->

    <!--/>-->

<TextView
    android:includeFontPadding="false"
    android:lineSpacingExtra="0dp"
    android:layout_gravity="center_vertical"
    android:textAlignment="center"
    android:id="@+id/name"
    android:layout_width="0dp"
    android:layout_weight="35"
    android:layout_height="wrap_content" />

<TextView
    android:includeFontPadding="false"
    android:lineSpacingExtra="0dp"
    android:layout_gravity="center_vertical"
    android:textAlignment="center"
    android:id="@+id/price"
    android:layout_width="0dp"
    android:layout_weight="35"
    android:layout_height="wrap_content" />

<TextView
    android:includeFontPadding="false"
    android:lineSpacingExtra="0dp"
    android:id="@+id/qty"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:layout_weight="10"
    android:textAlignment="center"
    />

<TextView

    android:textAlignment="center"
    android:id="@+id/total"
    android:layout_width="0dp"
    android:layout_weight="20"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/add"
    android:layout_gravity="center_vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="+"
    android:minHeight="0dp"
    android:minWidth="0dp" />

<Button
    android:id="@+id/min"
    android:layout_gravity="center_vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="-"
    android:minHeight="0dp"
    android:minWidth="0dp" />