我想以编程方式设置文本视图的顶部填充。我知道你可以用setPadding()
方法来做这件事。但问题是这个方法需要4个参数:左、上、右、下。我不想改变左边,右边和底部,我只想改变顶部的填充。
这有可能吗?
发布于 2013-03-22 03:16:49
使用
yourTextView.setPadding(0, 10, 0, 0);
仅调整您需要的参数,并将其他参数设置为零。
如果您需要保留其他现有的填充,请使用yourView.getPaddingLeft()
、yourView.getPaddingTop()
等。
发布于 2014-10-29 19:49:39
我通常会创建一个简单的实用方法,这样就不会忘记或放错了其他填充:
public static void setPaddingLeft(View v, int leftPaddingDp) {
int leftPaddingPx = dpToPx(leftPaddingDp);
v.setPadding(leftPaddingPx, v.getPaddingTop(), v.getPaddingRight(), v.getPaddingBottom());
}
稍后将像这样使用,提供dp单元,就像在xmls中一样:
Utils.setPaddingLeft(myExampleTextView, 10)
发布于 2019-07-09 12:07:21
下面的代码运行良好。
float scale = getResources().getDisplayMetrics().density;
int dpAsPixels = (int) (sizeInDp*scale + 0.5f);
https://stackoverflow.com/questions/15556168
复制相似问题