Intereting Posts
Android: Layer-List не работает? «Поток не представляет собой хранилище ключей PKCS12» после сохранения с нового пароля на устройстве Android Награжденное видеообъявление в Admob – посредничество не работает Изменение размера EditText внутри AlertDialog Как узнать, когда мое уведомление очищается с помощью кнопки «Очистить»? Застревание с переносом от активности к фрагменту Платеж для Android в приложении: не удается запустить асинхронную работу, поскольку выполняется другая операция async (выполняется) Ошибка GooglePlay: не удается загрузить тестовый APK Ярлык для методов переопределения в Android Studio Не удается запустить Android Emulator: «Невозможно загрузить VM из моментального снимка» Запись звука на сервер через TCP-сокет База данных SQLite для базы данных SQLite с индексом 2048 кб не выполнена Android getActionBar против getSupportActionBar? Android Studio – Запуск подписанного apk на эмуляторе Почему мои обои для домашнего экрана повреждены?

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

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