请参阅下图以了解我正在尝试做什么。从提供的图像中应该很明显。看起来这应该很简单。
问题是,为什么每个列表条目的平铺中间部分偏移量不一致?
product_list.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<ListView android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:divider="@drawable/product_list_divider"
android:background="@drawable/main_background_bitmap"/>
<TextView android:id="@+id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No results."/>
</LinearLayout>
product_list_divider.xml
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap
android:src="@drawable/shelf_middle"
android:tileMode="repeat"/>
</item>
<item>
<bitmap
android:src="@drawable/shelf_left"
android:gravity="left"/>
</item>
<item>
<bitmap
android:src="@drawable/shelf_right"
android:gravity="right"/>
</item>
</layer-list>
我最终放弃了重复平铺模式,改为这样做:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap
android:src="@drawable/bg"
android:tileMode="repeat" />
</item>
<item>
<bitmap
android:src="@drawable/shelf_shine"/>
</item>
<item>
<bitmap
android:src="@drawable/shelf_middle_stretch"
android:gravity="bottom|fill_horizontal"/>
</item>
<item>
<bitmap
android:src="@drawable/shelf_side_left"
android:gravity="left|bottom"/>
</item>
<item>
<bitmap
android:src="@drawable/shelf_side_right"
android:gravity="right|bottom"/>
</item>
<item>
<bitmap
android:src="@drawable/shelf_left"
android:gravity="left|bottom"/>
</item>
<item>
<bitmap
android:src="@drawable/shelf_right"
android:gravity="right|bottom"/>
</item>
</layer-list>
我是一名优秀的程序员,十分优秀!