我有以下布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:visibility="gone" >
<Button
android:id="@+id/btnProfileUpdatePhotoSave"
style="@style/profile_update_photo_button"
android:text="@string/profile_update_photo_save" />
<Button
android:id="@+id/btnProfileUpdatePhotoCancel"
style="@style/profile_update_photo_button"
android:text="@string/profile_update_photo_cancel" />
</LinearLayout>
这种风格:
<style name="profile_update_photo_button">
<item name="android:background">@drawable/custom_button_profile_update_photo</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:gravity">center</item>
<item name="android:layout_margin">2dp</item>
<item name="android:paddingRight">3dp</item>
<item name="android:paddingLeft">3dp</item>
<item name="android:textColor">@drawable/custom_button_profile_update_photo_text_color</item>
</style>
layout_width
和layout_height
都是wrap_content
。然而,虽然两侧的按钮没有填充(因此我放paddingRight
和paddingLeft
),但是从顶部和按钮有很大的填充(如10dp或类似的东西)。
@drawable/custom_button_profile_update_photo
基本上包含5dp圆角的矩形形状。
如何摆脱这种填充?
答案 0 :(得分:0)
如果要将top和bottom的填充设置为零或其他值,请使用
android:paddingBottom
设置底边的填充(以像素为单位)。
或
android:paddingTop
设置上边缘的填充(以像素为单位)
您必须将这些项目添加到<style>
。
<style name="profile_update_photo_button">
<item name="android:background">@drawable/custom_button_profile_update_photo</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:gravity">center</item>
<item name="android:layout_margin">2dp</item>
<item name="android:paddingRight">3dp</item>
<item name="android:paddingLeft">3dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:textColor">@drawable/custom_button_profile_update_photo_text_color</item>
</style>
答案 1 :(得分:0)
在您的样式中定义顶部和底部填充值,以使用左侧和右侧值。如果未指定,您将获得控件的默认填充。
答案 2 :(得分:0)
这里的解决方案是设置最小高度
android:minHeight="0dp"
只需将这些添加到您的样式
<style name="profile_update_photo_button">
<item name="android:background">@drawable/custom_button_profile_update_photo</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:gravity">center</item>
<item name="android:layout_margin">2dp</item>
<item name="android:paddingRight">3dp</item>
<item name="android:paddingLeft">3dp</item>
<item name="android:textColor">@drawable/custom_button_profile_update_photo_text_color</item>
<item name="android:minHeight">0dp</item>
</style>
希望这对您有帮助