如何在列表视图中的两个图像之间留出空间?

Posted

技术标签:

【中文标题】如何在列表视图中的两个图像之间留出空间?【英文标题】:How to give space between two images in listiview? 【发布时间】:2015-10-01 06:18:09 【问题描述】:

我正在为我的应用程序使用 listiview,在我的 listiview 中我设置了这样的内容

listitem1(图片) listitem2(图片+图片)

现在的问题是在我的第二行,我想在两个图像之间留出空间,但它不起作用,下面是我的 xml 布局和输出的屏幕截图

listview_view

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:background="#F3F3F3"
    >


    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="horizontal"
        android:id="@+id/lnrsearchviews"
        android:layout_below="@+id/imgshead"
        android:layout_marginLeft="7dp"
       android:layout_marginRight="7dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:background="@drawable/rect_search"

        >
        <!--<ImageView
            android:layout_
            android:layout_
            android:src="@drawable/searchs"
                android:layout_gravity="center_vertical"
            />-->

    <AutoCompleteTextView
        android:layout_
        android:layout_
        android:id="@+id/autosearchbyname"
        android:hint="Search"

        />

    </LinearLayout>

   <!-- <TextView
        android:layout_
        android:layout_
        android:id="@+id/txt_shopbydept"
        android:text="Shop By Departments"
        android:textSize="20dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"
        android:layout_below="@+id/lnrsearchviews"
        />-->

    <ListView 
        android:layout_
        android:layout_
        android:id="@+id/list_menu"
        android:layout_below="@+id/lnrsearchviews"
        android:layout_marginLeft="7dp"
        android:layout_marginRight="7dp"
        android:layout_marginBottom="20dp"
        android:dividerHeight="8dp"
        android:divider="#f3f3f3"
        ></ListView>



</RelativeLayout>

列表项

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="vertical"
    >


    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="horizontal"

        android:weightSum="1">

        <LinearLayout
            android:layout_
            android:layout_
            android:id="@+id/btntest"
            android:background="@drawable/ab"
            android:orientation="horizontal"
            >
            </LinearLayout>

    <RelativeLayout
        android:layout_
        android:layout_
        android:id="@+id/id"
        android:background="@drawable/heads"
        android:layout_weight="1.17">
        <RelativeLayout
            android:layout_
            android:id="@+id/rl"
            android:layout_
            android:layout_alignParentBottom="true"
            android:layout_alignParentTop="true">

            <TextView
                android:layout_
                android:layout_
                android:textColor="@android:color/white"
                android:padding="2dp"
                android:text="abd"
                android:id="@+id/txt_allproductsname"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />

            <TextView
                android:layout_
                android:layout_
                android:textColor="@android:color/white"
                android:padding="2dp"
                android:text="abddd"
                android:id="@+id/txt_allproductsquty"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true" />
        </RelativeLayout>
    </RelativeLayout>


    </LinearLayout>
</LinearLayout>

我的视图

http://pastie.org/10289187#5

【问题讨论】:

你也可以发布getView()部分代码吗? 将 android:layout_marginLeft="5dp" 添加到显示第二张图片的第二个布局中...... 你在哪里设置图片? 为什么RelativeLayout (id) 和LinearLayout (btntest) 的宽度不同?尝试将 btntest 的宽度更改为 180dp(即与 id-layout 相同),看看是否有效。 你能告诉我该怎么做吗?? 【参考方案1】:

尝试将此作为您的list_item,并在您只需要显示一张图片时使用将第二个ImageView 的可见性设置为gone

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/first_imageview"
        android:layout_
        android:layout_
        android:layout_marginRight="10dp"
        android:layout_weight="1"
        android:background="#9ff0"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/second_imageview"
        android:layout_
        android:layout_
        android:layout_weight="1"
        android:background="#9ff0"
        android:src="@drawable/ic_launcher" />

</LinearLayout>

【讨论】:

以上是关于如何在列表视图中的两个图像之间留出空间?的主要内容,如果未能解决你的问题,请参考以下文章

表视图标题问题

如何在同一个 div 中的两个按钮之间留出空间?

如何在 Python Dash 中的两个 dcc 组件之间留出空间?

如何在 iOS 中制作如下图所示的仪表视图?

Swift:如何将单元格视图设计为两个三角形?

如何在 QML 中的 Listview 中保留特定列表项之间的空间