2013-03-21 57 views
20

我想以編程方式設置textview的頂部填充。我知道你可以用方法setPadding()來做到這一點。但問題是這種方法需要4個參數:左,上,右,下。我不想改變左邊,右邊和底部,我只是想改變頂部填充。Android:以編程方式設置textview的一個填充

這可能嗎?

回答

55

使用

yourTextView.setPadding(0, 10, 0, 0); 

僅調整你所需要的參數和其他的設置爲零。

如果您需要保留其他現有的填充,請使用yourView.getPaddingLeft()yourView.getPaddingTop()等。

+0

但其他人有一個值,我想保留該值,而不是將它們設置爲0. – Xander 2013-03-21 19:18:29

+14

如果您擔心丟失現有的填充,可以在textView.getPaddingTop()(或底部,左側,右側)爲值保存 – dymmeh 2013-03-21 19:18:47

+0

噢,對!我本來可以做到的!謝謝! – Xander 2013-03-21 19:20:06

15

我通常會創建一個簡單的工具方法,只是不要忘了,或者放錯地方的其他補白:

public static void setPaddingLeft(View v, int leftPaddingDp) { 
    int leftPaddingPx = dpToPx(leftPaddingDp); 
    v.setPadding(leftPaddingPx, v.getPaddingTop(), v.getPaddingRight(), v.getPaddingBottom()); 
} 

稍後這樣使用,提供dp單位,彷彿會在個XML:

Utils.setPaddingLeft(myExampleTextView, 10) 
相關問題