2013-05-06 37 views
49

Example buttons如何減少Android按鈕對象內文本的內部填充?

所以,目前我有一個按鈕,看起來像上面的第一個圖像。如何減少按鈕本身內的文本週圍的填充(看起來更像第二個圖像)?

佈局的寬度和高度設置爲:

android:layout_width="match_parent" 
android:layout_height="wrap_content" 

自定義樣式形狀的參數爲」

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" android:padding="10dp"> 

,其餘只是被顏色屬性和半徑值

只是爲了說清楚,我想讓按鈕的框架擁抱「登錄」文本更近。

非常感謝所有幫助和反饋。謝謝。

+1

機器人:填充=「10dp減少10 DP到5DP – Raghunandan 2013-05-06 07:46:37

+0

這涉及到按鈕外填充。我指的是「登錄」和它的容器的內部填充。謝謝雖然。 – 2013-05-06 08:48:41

+0

@ImranNZ,我認爲你應該接受卡迪爾侯賽因的答案,我發現它實際上解決了我認爲你正面臨的問題 – DataGraham 2013-10-17 00:30:27

回答

137

我花了我一直的時間來找到這個,但是在一個按鈕的文本週圍的「填充」並不是真正的padd根本不需要。默認的Widget.Button樣式包含minHeight屬性。更改按鈕上的minHeight將允許您按預期調整填充。

<Button 
     android:id="@+id/header" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/test" 
     android:textColor="@color/black" 
     android:minHeight="40dip"/> 


<style name="Widget.Holo.Button" parent="Widget.Button"> 
    <item name="android:background">@android:drawable/btn_default_holo_dark</item> 
    <item name="android:textAppearance">?android:attr/textAppearanceMedium</item> 
    <item name="android:textColor">@android:color/primary_text_holo_dark</item> 
    <item name="android:minHeight">48dip</item> 
    <item name="android:minWidth">64dip</item> 
</style> 
+1

這真的不起作用!!非常感謝你 – Santosh 2013-12-12 10:41:53

+0

非常感謝!這有效! – Mauker 2016-03-11 19:50:50

+2

我正面臨與寬度類似的問題。設置android:minWidth =「0dp」工作,但隨後在長文本按鈕上,我需要設置android:paddingRight和android:paddingLeft來防止糟糕的佈局。 – 2016-06-22 09:28:17

1

如果你想有一個小的頂部和底部填充,使用此:

android:paddingTop="2dp" 
android:paddingBottom="2dp" 
+0

這是爲按鈕外的填充。我後面的效果是讓Button框架更緊密地擁抱「登錄」文本。謝謝。 – 2013-05-06 08:50:00

+0

你介意給我們展示你的按鈕的完整xml嗎? – Neoh 2013-05-06 08:52:33

+1

這已經是按鈕的內部填充。你可能需要檢查你是否在''的父視圖中添加了像'android:padding'或'android:layout_margin''這樣的行。 – Neoh 2013-05-06 09:24:21

4

試試這個在您的自定義shape.xml文件

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" 
android:paddingLeft="10dp" 
android:paddingRight="10dp" 
android:paddingTop="1dp" 
android:padding="1dp"> 

你也可以使你的按鈕的XML

變化
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
+0

我希望這個工作,但它並不適合我 – 2015-02-13 03:38:46

+0

如果你讀到原始問題的要求 – 2015-11-18 05:31:06