我想样式默认的ListView列表divider有双方的空白边缘。我已经尝试设置整个ListView的边距,但没有创建所需的结果。自定义样式listdivider
我有:
什么,我试图让(注意在分隔的两侧边缘):
什么是最好的这样做的方式?提前致谢!
我想样式默认的ListView列表divider有双方的空白边缘。我已经尝试设置整个ListView的边距,但没有创建所需的结果。自定义样式listdivider
我有:
什么,我试图让(注意在分隔的两侧边缘):
什么是最好的这样做的方式?提前致谢!
我终于能够解决我的问题使用接受的答案this后(没有梯度部分)
我会建议创建自己的ListAdapter
并将其设置为您的ListView
。然后在其getView
方法中,您可以以任何您想要的方式设置单个列表项的样式。
使用<include layout="@layout/divider" />
和线路的自定义布局。像这样:
main.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" >
<ListView android:id="@+id/listview"
android:layout_width="wrap_content"
android:divider="@layout/divider"
android:dividerHeight="3sp"
android:layout_height="wrap_content" />
</LinearLayout>
divider.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:startColor="#00000000"
android:centerColor="#FFFFFF"
android:endColor="#00000000"
/>
<corners
android:radius="4dp"
/>
</shape>
AndroidlistviewdividerActivity.class
public class AndroidlistviewdividerActivity extends Activity {
/** Called when the activity is first created. */
private ListView lv;
private String listview_array[] = { "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX",
"SEVEN", "EIGHT", "NINE", "TEN" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView) findViewById(R.id.listview);
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, listview_array));
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
AlertDialog.Builder adb = new AlertDialog.Builder(
AndroidlistviewdividerActivity.this);
adb.setTitle("ListView OnClick");
adb.setMessage("Selected Item is = "
+ lv.getItemAtPosition(arg2));
adb.setPositiveButton("Ok", null);
adb.show();
}
});
}
}
谢谢,这几乎是我在找的东西。但是,如果我设置ListView divider到@ layout/divider,应用程序崩溃。有什么建议么? 我得到以下错误: 造成的:org.xmlpull.v1.XmlPullParserException:二进制XML文件行#2:无效的绘制标签查看 – Meatje 2012-03-08 17:04:23
@Meatje:有你的解决方案或不? – 2012-03-08 17:30:21
@Meatje:好的,我正在更新我的解决方案,这完全是我的工作.. – 2012-03-08 17:32:40
http://stackoverflow.com/questions/3979218/android-listview-divider看到这个自定义分频器,并作出一些努力... – 2012-03-08 16:01:14