13

ボタン ビューでテキストの周りのパディングを削除したいと思います。最初のスクリーンショットは私が達成する結果であり、2 番目のスクリーンショットは最先端のものです。

ここに画像の説明を入力

ここに画像の説明を入力

もちろん、ボタンの外観を取得するカスタム ドローアブルを定義しました。しかし、パディング属性を 0dp に設定しても、結果は変わりません。

何か提案はありますか?

編集 ボタンのxmlコードは次のとおりです

<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" />

スタイル xml ファイルは次のとおりです。

<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>

ドローアブル xml ファイルは次のとおりです。

<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>
4

3 に答える 3

56

実際にはパディングではありませんが、テーマはボタン ウィジェットの minHeight と minWidth を設定しています。xml のボタンに次のように設定することで、テーマを変更せずにこの効果を完全に削除できます。

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

したがって、さまざまな効果に対してさまざまな設定をいじることができることも意味します。0dp は、この効果を完全に削除するための単なる例です。

于 2014-07-28T10:26:23.450 に答える
19

android:includeFontPaddingを使用して試すことができます。false に設定します。また、パディングを 0 に設定します。

于 2013-10-07T14:09:11.950 に答える
1

ボタンのテキストにパディングは必要ありません。デフォルトではボタンの中央にあります。マニフェスト ファイルでを使用していると思われますandroid:theme="@android:style/Theme.Black.NoTitleBar"。それを削除し、ネイティブ アプリのテーマを使用して試してください。

于 2013-10-07T14:19:36.307 に答える