我尝试创建圆角listview.i创建自定义xml文件,我写了这段代码
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/shape_my" >
<stroke
android:width="2dp"
android:color="#636161" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<corners android:radius="24dp" />
<solid android:color="#FFF" />
my listview looks same as a picture
but i want to recive like this style listview
这是我的自定义列表视图适配器代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_selector"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/cat_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp" />
<TextView
android:id="@+id/cat_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@+id/cat_image"
android:text="TextView"
android:textColor="#9577a9" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="19dp"
android:background="@drawable/cat_next" />
<ListView
android:id="@+id/cat_listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" >
</ListView>
我怎么能解决我的问题?如果有人知道解决方案,请帮助我 感谢
答案 0 :(得分:3)
检查this。在中间条目中使用不同的样式,因此只有第一行和最后一行分别应用于顶部和底部圆角。这可能有助于您实现所需。
所以你需要做的是:
如果项目位置是第一个或最后一个,只需应用圆角样式xml。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//...
if (position == 0 && entry_list.size() == 1) {
view.setBackgroundResource(R.drawable.selector_rounded_corner);
} else if (position == 0) {
view.setBackgroundResource(R.drawable.selector_rounded_corner_top);
} else if (position == entry_list.size() - 1) {
view.setBackgroundResource(R.drawable.selector_rounded_corner_bottom);
} else {
view.setBackgroundResource(R.drawable.selector_middle);
}
}
希望这有帮助。
答案 1 :(得分:1)
替换你的
<ListView
android:id="@+id/cat_listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" >
</ListView>
经由
<ListView
android:id="@+id/cat_listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp"
android:background="@drawable/customshape"
android:listSelector="@drawable/list_selector" >
</ListView>