Как я могу получить разделитель по умолчанию?

Я хочу создать форму и поместить разделитель между каждым элементом формы, и я хочу, чтобы разделитель имел тот же стиль, что и для списка 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" /> 1 <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); 

Затем, чтобы также нарисовать его на Canvas в onDraw :

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