有没有办法在包含按钮的LinearLayout中完全消除填充?

时间:2010-11-06 15:35:26

标签: android android-layout android-linearlayout padding

我尝试了以下尝试以水平线性布局显示两个按钮,按钮的边缘与线性布局的边框齐平。令我惊讶的是,我发现按钮与线性布局的左,右和底边之间始终存在填充。只有按钮的顶部边缘与线性布局的边框齐平。这是为什么?有没有办法控制这种行为?非常感谢。

<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 个答案:

答案 0 :(得分:9)

如果你的意思是你希望它们被推到边缘,像素为像素,你需要使用自己的9补丁作为按钮背景,因为Android中的默认补丁有几个额外的像素9补丁背景的边界。有关此示例,请查看SDK文件夹中的文件:

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

例如,这是我使用默认值获得的:

alt text

使用我之前制作的自定义9补丁:

alt text