我怎样才能得到默认的分频器?

我想创build一个表单并在每个表单元素之间放置一个分隔符,我希望分隔符必须与平台上的ListView的默认样式相同。

我可以以某种方式访问​​有关ListView的默认分隔线的信息,并将其用于我的表单?

Solutions Collecting From Web of "我怎样才能得到默认的分频器?"

这是如何在一些Android源代码中完成的

<View android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?android:attr/listDivider" /> 

这将得到匹配您的应用程序主题的默认列表分隔符:

 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(); 

这是我如何做到的

 <ImageView android:layout_width="fill_parent" android:layout_height="1dp" android:scaleType="fitXY" android:src="?android:attr/listDivider" /> 

要从代码中获得默认的水平分隔符,您可以使用:

  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); 

然后,也可以在onDrawCanvasonDraw绘制:

 divider.setBounds(X, Y, X + width, Y + height); divider.draw(canvas);