2013-03-25 1 views
1

У меня возникли проблемы со встроенным стилем панели кнопок Android. После предоставления ширины 0 и веса 1 на каждую из моих кнопок, между двумя кнопками (см. Изображение) есть еще 1px промежуток.Android Button Bar - кнопкаBarButtonStyle оставляет разницу между кнопками

Каков наилучший способ избавиться от этого пробела? Почему это даже начинается?

<LinearLayout 
    android:id="@+id/button_bar" 
    style="?android:attr/buttonBarStyle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignRight="@+id/details_scroll_view" 
    android:paddin="0dp" > 

    <Button 
     android:id="@+id/button1" 
     style="?android:attr/buttonBarButtonStyle" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/button_dark_blue" 
     android:text="button1" 
     android:textColor="@color/text_color" /> 

    <Button 
     android:id="@+id/button2" 
     style="?android:attr/buttonBarButtonStyle" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/button_light_blue" 
     android:text="button2" 
     android:textColor="@color/text_color" /> 
</LinearLayout> 

Кнопка [бар] [1] http://i.stack.imgur.com/9Kwf4.png

+0

Проверьте http://developer.android.com/samples/BorderlessButtons/res/layout/sample_main.html#l71 тоже –

ответ

0

Если вы используете RelativeLayout вместо LinearLayout, то вы можете использовать что-то вроде

<Button 
     android:id="@+id/button2" 
     style="?android:attr/buttonBarButtonStyle" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/button_light_blue" 
     android:text="button2" 
     android:textColor="@color/text_color" 
     android:layout_toRightOf="@+id/button1" /> //this will put the left edge of this button at the right edge of button1 
+0

Я все еще хотел бы сохранить равный вес для кнопок с равной шириной. Функция центрирования layout_weight 1 с шириной 0dp работает только для линейных макетов. Относительная компоновка устраняет пробел, хотя ... –

+0

Вы все равно можете держать их в центре и одинаковыми размерами. – codeMagic

0

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

android:layout_marginLeft=<insert value here> 
+0

Довольно хакерский, но он выглядит следующим образом: 'android: layout_marginLeft =" - 1dp " ' –

0

Пространство вы видите на самом деле делитель. Чтобы скрыть эти разделители, просто добавьте

android:showDividers="none" 

к LinearLayout.