Intereting Posts
Есть ли функция в Android, аналогичная функции «int main» в C / C ++, которая содержит основной цикл программы? Необычное исключение: нельзя использовать String для Boolean при использовании getBoolean Android Emulator: добавление приложения FireFox? Android google play support / unsupport список устройств при применении фильтра Country Android Получить текущую дату (со временем 0: 00: 000) в миллисекундах? Исключение в потоке «main» java.lang.NoClassDefFoundError: junit / textui / ResultPrinter Есть ли способ прослушать конец анимации в AnimatedVectorDrawables Android 4.3 в качестве периферийного устройства Bluetooth LE Добавление свойства touchListener к объекту пути Android InAppBilling – что делать, когда пользователь нажимает кнопку покупки? View.getId () возвращает неверный идентификатор в OnItemClickListener Android SimpleDateFormat не работает KeepRunning PhoneGap / Кордова Gradle Error – дублированные файлы, скопированные в APK AndroidManifest.xml Отказ от регистрации в Azure Notifier

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

Я хочу создать форму и поместить разделитель между каждым элементом формы, и я хочу, чтобы разделитель имел тот же стиль, что и для списка ListView на платформе.

Можно ли каким-либо образом получить доступ к информации о делителе по умолчанию для ListView и использовать его для моей формы?

Вот как это делается в некоторых источниках 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);