Android:以编程方式设置textview的一个填充
问题描述:
我想以编程方式设置textview的顶部填充。我知道你可以用方法setPadding()来做到这一点。但问题是这种方法需要4个参数:左,上,右,下。我不想改变左边,右边和底部,我只是想改变顶部填充。Android:以编程方式设置textview的一个填充
这可能吗?
答
使用
yourTextView.setPadding(0, 10, 0, 0);
仅调整你所需要的参数和其他的设置为零。
如果您需要保留其他现有的填充,请使用yourView.getPaddingLeft()
,yourView.getPaddingTop()
等。
答
我通常会创建一个简单的工具方法,只是不要忘了,或者放错地方的其他补白:
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)
但其他人有一个值,我想保留该值,而不是将它们设置为0. – Xander 2013-03-21 19:18:29
如果您担心丢失现有的填充,可以在textView.getPaddingTop()(或底部,左侧,右侧)为值保存 – dymmeh 2013-03-21 19:18:47
噢,对!我本来可以做到的!谢谢! – Xander 2013-03-21 19:20:06