2013-03-21 78 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) 
相关问题