Добавление без полей кнопок в Android xml с разделителем

Я пытаюсь следовать рекомендациям, изложенным командой Android из этого документа:

https://docs.google.com/file/d/0Bz3qX4EBhUvwZWlHekI3Y0wxSUk/edit

Согласно документу, я должен использовать эти базовые ресурсы. Введите описание изображения здесь

Это мой код, но ни одна из границ не показывает. Есть идеи?

<LinearLayout android:id="@+id/buttonLayout" style="?android:buttonBarButtonStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:divider="?android:dividerVertical" android:orientation="horizontal" android:showDividers="middle" > <Button android:id="@+id/button1" style="?android:buttonBarButtonStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Test" /> <Button android:id="@+id/button2" style="?android:buttonBarButtonStyle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="Test" /> </LinearLayout> 

Примечание. Я понимаю, что есть аналогичный / точный вопрос , но мой ресурс, кажется, более поздний, но решение, представленное командой Google, не работает.

У вас неправильный стиль в LinearLayout. Должен быть

 style="?android:buttonBarStyle" 

Не…

 style="?android:buttonBarButtonStyle" 

Пример:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/buttonLayout" style="?android:attr/buttonBarStyle" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Test"/> <TextView android:layout_height="wrap_content" android:text="TextView (Place Holder)" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_width="wrap_content" android:layout_gravity="center" android:layout_margin="15dp"/> <LinearLayout style="?android:attr/buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/button2" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="Test"/> <Button android:id="@+id/button3" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="Test"/> </LinearLayout> </LinearLayout> 

Пример 2 (ListView):

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/buttonLayout" style="?android:attr/buttonBarStyle" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ListView android:layout_height="wrap_content" android:layout_width="match_parent" android:layout_weight="1.0"/> <LinearLayout style="?android:attr/buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/button2" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="Test"/> <Button android:id="@+id/button3" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="Test"/> </LinearLayout> </LinearLayout> 

Верхняя граница – это «разделитель», который разделяет элементы в линейном макете. Если панель кнопок находится в нижней части вертикальной компоновки, вам нужно активировать отображение разделителя в вертикальной компоновке. Как правило, я делаю это, добавляя эти атрибуты:

 android:showDividers="middle" android:divider="?android:dividerHorizontal" android:dividerPadding="8dp" 

Полный код макета:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="?android:dividerHorizontal" android:dividerPadding="8dp" android:orientation="vertical" android:showDividers="middle" > <TextView android:id="@+id/url" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:text="dummyText" /> <LinearLayout style="?android:buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/button1" style="?android:buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button1" /> <Button android:id="@+id/button2" style="?android:buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:text="Button2" /> </LinearLayout> </LinearLayout> 

Я столкнулся с той же проблемой, что и в документе. Решение, предоставленное user3055552, даст средний разделитель, но не верхний делитель, если на кнопках нет других видов. Пытаться:

 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="vertical"> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="?android:attr/dividerVertical"/> <LinearLayout style="?android:buttonBarStyle" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button style="?android:buttonBarButtonStyle" android:id="@+id/back" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="@string/back"/> <Button style="?android:buttonBarButtonStyle" android:id="@+id/next" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="@string/next"/> </LinearLayout> </LinearLayout> 1 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="vertical"> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="?android:attr/dividerVertical"/> <LinearLayout style="?android:buttonBarStyle" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <Button style="?android:buttonBarButtonStyle" android:id="@+id/back" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="@string/back"/> <Button style="?android:buttonBarButtonStyle" android:id="@+id/next" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="@string/next"/> </LinearLayout> </LinearLayout> 

предварительный просмотр Введите описание изображения здесь

Вы можете создать это, не используя кнопку с цветом.

 <LinearLayout android:id="@+id/bottom_bar" android:layout_width="match_parent" android:layout_height="48dp" android:layout_alignParentBottom="true" android:background="#2B1B17" > <TextView android:id="@+id/tv_cancel" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="Cancel" android:textColor="@drawable/text_changepassword_selector" android:textSize="19sp" /> <View style="@style/Divider" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" /> <TextView android:id="@+id/tv_apply" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="Select" android:textColor="@drawable/text_changepassword_selector" android:textSize="19sp" /> </LinearLayout> 
Intereting Posts
Android: как изменить макет при нажатии кнопки? Убедитесь, что включен «Google Maps Android API v2». Я получаю эту ошибку, когда пытаюсь выполнить Google Maps Как сделать одноранговое соединение android равным без использования промежуточного сервера? Ширина и высота макета игнорируются Появилась реклама Admob Error Когда закрыть соединение db на Android? Каждый раз после завершения операции или после выхода из приложения Ошибка версии для Android Studio SDK после обновления Android: использование AUTO-CANCEL при уведомлении, когда ваше приложение работает в фоновом режиме Gradle терпит неудачу с «Перегрузкой неоднозначных методов для метода java.io.File # <init>" Метод getSupportFragmentManager () не поддерживается ActionBar с настраиваемой компоновкой с настраиваемым пунктом меню Предотвращение пикселизации изображений, отступы listViews и добавление закругленных углов Новая версия ADB не распознает iBall Slide 6309i (Android 4.1.1) Видимость ImageView Ошибка с таймером Android, новая поддержка lib 25, реализация BottomNavigationView