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

发布于 2024-09-30 18:04:24 字数 947 浏览 4 评论 0原文

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

<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>

I tried the following to try to display two buttons in a horizontal linear layout, with the edges of the buttons flush with the border of the linear layout. To my surprise, I found that there is always still padding between the buttons and the left, right and bottom edges of the linear layout. Only the top edges of the buttons end up flush with the border of the linear layout. Why is that? And is there a way to control this behavior? Thanks much.

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如果您的意思是希望将它们逐个像素地推到边缘,则需要使用自己的 9 块作为按钮背景,因为 Android 中的默认按钮背景在边框周围有一些额外的像素。它的 9 补丁背景。有关示例,请查看 SDK 文件夹中的文件:

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

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

alt text

以及我之前制作的自定义 9 补丁:

替代文本

If you're meaning you want them to be pushed to the edge, pixel for pixel, you'll need to use your own 9-patch for the button background, as the default one in Android has a few extra pixels around the border of its 9-patch background. For an example of this, look at the file in your SDK folder under:

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

For example, this is what I get with the default:

alt text

And with a custom 9-patch I had made earlier:

alt text

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文