我想创建一个表单并在每个表单元素之间放置一个分隔符,我希望分隔符具有与平台上ListView的默认样式相同的样式。
我可以以某种方式访问有关ListView的默认分隔符的信息并将其用于我的表单吗?
答案 0 :(得分:68)
<View
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/listDivider" />
答案 1 :(得分:12)
这将获得与您的应用程序主题匹配的默认列表分隔符:
int[] attrs = { android.R.attr.listDivider };
TypedArray ta = getApplicationContext().obtainStyledAttributes(attrs);
//Get Drawable and use as needed
Drawable divider = ta.getDrawable(0);
//Clean Up
ta.recycle();
答案 2 :(得分:6)
我就是这样做的
<ImageView
android:layout_width="fill_parent"
android:layout_height="1dp"
android:scaleType="fitXY"
android:src="?android:attr/listDivider" />
答案 3 :(得分:2)
要从您可以使用的代码获取默认水平分隔符:
final TypedArray array = getContext().getTheme().obtainStyledAttributes(
R.style.<some_theme>, new int[] {
android.R.attr.dividerHorizontal
});
final int defaultDivider = array.getResourceId(0, 0);
final Bitmap dividerBitmap = BitmapFactory.decodeResource(r, defaultDivider);
final BitmapDrawable divider = new BitmapDrawable(r, dividerBitmap);
然后,也可以在Canvas
的{{1}}中自行绘制:
onDraw