Android自定义listview行,形状可绘制

时间:2014-10-15 12:16:06

标签: android listview android-listview android-drawable

我正在关注this教程并且我已经在我的xml中应用了该代码,但是圆角是在完整列表视图中而不是特定行。我完全喜欢这个教程

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


    <ListView
        android:id="@+id/listaPedidos"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:divider="@color/background_pedidos"
        android:dividerHeight="7dp"
        android:padding="20dp"
        android:background="@drawable/pedidos_shape"
        android:smoothScrollbar="true"/>

</LinearLayout>

pedidos_shape:

<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <stroke
        android:width="2dp"
        android:color="@color/custom_gray" />
    <padding
        android:left="5dp"
        android:top="5dp"
        android:right="5dp"
        android:bottom="5dp" />
    <corners
        android:radius="8dp" />
    <solid
        android:color="@color/white"/>
</shape>

3 个答案:

答案 0 :(得分:2)

设置后台item.xml(自定义列表视图行xml)

custom_listview_item.xml

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

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/pedidos_shape">

    <ImageView
        android:id="@+id/imageview"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="5dp"
        android:src="@drawable/ic_launcher"
        android:scaleType="centerCrop"/>

</LinearLayout>

答案 1 :(得分:1)

错误:

您已经为整个ListView提供了背景信息。

分辨率:

应该将背景赋予个别项目。从android:background="@drawable/pedidos_shape"中删除<ListView>并将其包含在行XML布局文件中。

答案 2 :(得分:1)

您需要将android:background="@drawable/pedidos_shape"设置为适配器中正在膨胀的项目布局。