Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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>
like image 504
Daniele Vitali Avatar asked Oct 07 '13 14:10

Daniele Vitali


People also ask

How do you remove button padding?

You can remove the padding around the button by using setting the minWidth and minHeight to 0.

How to remove button Text padding in android?

you can try using android:includeFontPadding. set it to false. also set the padding to 0.

What is includeFontPadding?

You can use android:includeFontPadding="false" to get rid of the default padding in a TextView . Android docs say this about the attribute: Leave enough room for ascenders and descenders instead of using the font ascent and descent strictly.


2 Answers

Its not actually padding but the theme is setting a minHeight and minWidth for button widgets. You can completely remove this effect without changing your theme by setting the following on your button in the xml:

android:minHeight="0dp"
android:minWidth="0dp"

It thus also implies that you can play around with different settings for different effects, 0dp is merely an example to completely remove this effect.

like image 152
Chris Avatar answered Oct 02 '22 00:10

Chris


you can try using android:includeFontPadding. set it to false. also set the padding to 0.

like image 42
stinepike Avatar answered Oct 02 '22 00:10

stinepike