Есть ли способ полностью исключить заполнение в LinearLayout, содержащем кнопки? - PullRequest
1 голос
/ 06 ноября 2010

Я попробовал следующее, чтобы попытаться отобразить две кнопки в горизонтальной линейной разметке, края кнопок должны находиться на одном уровне с границей линейной разметки.К моему удивлению, я обнаружил, что между кнопками и левым, правым и нижним краями линейного макета все еще есть отступы.Только верхние края кнопок оказываются вровень с границей линейного макета.Это почему?И есть ли способ контролировать это поведение?Большое спасибо.

<LinearLayout android:orientation="horizontal"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="#777"
  android:padding="0dip"
  android:layout_margin="0dip">
  <Button android:id="@+id/feeling_done_button"
     android:text="@string/done_button_label"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:layout_weight="1"
     android:padding="0dip"
     android:layout_margin="0dip"/>
  <Button android:id="@+id/feeling_cancel_button"
     android:text="@string/cancel_button_label"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:layout_weight="1"
     android:padding="0dip"
     android:layout_margin="0dip"/></LinearLayout>

1 Ответ

9 голосов
/ 06 ноября 2010

Если вы имеете в виду, что хотите, чтобы они были сдвинуты к краю, пиксель за пикселем, вам нужно будет использовать собственный 9-патч для фона кнопки, так как по умолчанию в Android есть несколько дополнительных пикселей вокругграница его фона с 9 участками.Для примера, посмотрите на файл в папке SDK:

platforms/android-8/data/res/drawable-hdpi/btn_default_transparent_normal.9.png

Например, вот что я получаю по умолчанию:

alt text

И с пользовательским 9-патчем, который я сделал ранее:

alt text

...