Daniele Vitali Daniele Vitali - 3 months ago 25
Android Question

Remove text padding in Button view

I would like to remove the padding around text in Button view.
The first screenshot is the result I would achieve, and the second one is the state of the art.

enter image description here

enter image description here

Of course, I have defined a custom drawable to get the button appearance. But even if I set the padding attribute to 0dp the result does not change.

Any suggestion, please?

EDIT
Here is the xml code of the button

<Button
android:id="@+id/btnCancel"
style="@style/dark_header_button"
android:layout_width="wrap_content"
android:layout_marginLeft="10dp"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:padding="0dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@android:string/cancel" />


Here is the style xml file:

<style name="dark_header_button">
<item name="android:background">@drawable/bkg_dark_header_button</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowRadius">1</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">#ffffff</item>
</style>


and here is the drawable xml file:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true">
<shape>

<corners android:radius="10dp" />

<gradient
android:angle="90"
android:endColor="#060606"
android:startColor="#707070"
android:type="linear" />

</shape>
</item>
<item>
<shape>

<corners android:radius="10dp" />

<gradient
android:angle="90"
android:endColor="#707070"
android:startColor="#060606"
android:type="linear" />

<stroke
android:width="0.5dp"
android:color="#2b2b2b" />

</shape>
</item>


</selector>

Answer

Button text doesn't need padding, it is by default in center of the button. I think you are using the android:theme="@android:style/Theme.Black.NoTitleBar" in the manifest file, please remove it and use native app Theme and try it.