android - 布局和应用程序标题之间的填充不同

标签 android layout padding title

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="6dp"
android:weightSum="1.0" >

<Button
    android:id="@+id/btnCreateNewMonth"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_vertical|center"
    android:layout_weight="0.5"
    android:onClick="btnCreateNewMonth_clickHandler"
    android:paddingBottom="5dp"
    android:text="@string/btn_create_new_month" />

<Button
    android:id="@+id/btnLoadExistingMonth"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_vertical|center"
    android:layout_weight="0.5"
    android:onClick="btnLoadExistingMonth_clickHandler"
    android:text="@string/btn_load_existing_month" />

   </LinearLayout>

所有边的内边距应为 6dp。但是在顶部,在应用程序标题和布局之间有一个较小的填充?!解决方案是什么??

谢谢。

最佳答案

问题不在于填充,

如果深入观察布局,您会发现按钮占用区域和布局区域的差异。

  1. Button 的背景源未完全占据右、左、下角的空间。

  2. 但是Button的Background源已经被覆盖,完全占据了顶部。

  3. 请注意,按钮的背景源是具有透明背景的 9 补丁图像。

  4. 在这种情况下,例如如果按钮的背景源未占用的Gap是2dp意味着,

    Right , Left, Bottom 会多出2dp的空格。但不在顶部。

    因此,使用 6dp 的填充,您将在右、左、下角的两个按钮获得额外的 2dp 背景可见度。

因此,如果您的内边距值为 6dp,则您的布局背景可见性在右角、左角、底角为 8dp,在顶部为 6dp。

这才是真正的问题。

  1. 如果您更改按钮的背景颜色,您可以看到所有 4 个角的均匀填充值。

  2. 如果您要为按钮创建图像背景,那么应该同样创建它,这与 android 默认按钮背景不同。

所以解决方案是,您可以为您的按钮创建一个渐变背景,或者您可以为您的按钮创建一个新的图像文件。

希望你能理解它,它会对你有用。

关于android - 布局和应用程序标题之间的填充不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195658/

相关文章:

android - stopLoading() 到底做了什么?

Android 选项卡标题小写

css - 将 sub-div 的宽度扩展到 100%

Android - 将填充设置为 RadioButton pin

java - RxJava 过滤器运算符

android - 强制使用 ActionBarSherlock 的应用程序使用 Theme 而不是 Theme.Holo

HTML/CSS 布局问题

android - 在android中,如何在代码中设置layout_marginRight

java - Java 中使用零填充的三重 DES 加密/解密

css - 如何使带有填充的元素仅跨越视口(viewport)高度的 100%?