<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。但在顶部,在应用程序标题和布局之间有一个较小的填充?!那是什么解决方案?
感谢。
答案 0 :(得分:1)
问题不在于填充,
如果仔细观察布局,可以看到按钮占用区域和布局区域的区别。
Button的背景源未完全占据右,左,下角的空格。
但Button的背景资源已被覆盖并完全占据顶部。
请注意,按钮的背景源是带有透明背景的9补丁图像。
在这种情况下,例如,如果按钮的背景源未占用的间隙为2dp,则
右,左,下将有额外的2dp空格。但不是在Top。
因此,使用6dp的填充,您将获得右,左,下角两个按钮的额外背景可见度2dp。
因此,如果您的填充值为6dp,那么您的布局背景可见性将在右侧,左侧,底部角落为8dp,顶部为6dp。
这是实际问题。
如果更改按钮的背景颜色,则可以看到所有4个角的均匀填充值。
如果您要为按钮创建图像背景,那么它应该同样创建,与Android默认按钮背景不同。
解决方法是,您可以为按钮创建渐变背景,也可以为按钮创建新的图像文件。
希望你能得到它,这对你来说很有用。