Android:以编程方式设置textview的一个填充

Xan*_*der 27 java android padding textview android-layout

我想以编程方式设置textview的顶部填充.我知道你可以用方法setPadding()来做到这一点.但问题是这种方法需要4个参数:左,上,右,下.我不想改变左,右和底,我只是想改变顶部填充.

那可能吗?

Dro*_*man 74

使用

    yourTextView.setPadding(0, 10, 0, 0);
Run Code Online (Sandbox Code Playgroud)

仅调整所需的参数,并将其他参数设置为零.

如果需要保留其他现有填充,请使用yourView.getPaddingLeft(),yourView.getPaddingTop()等等.

  • 如果您担心丢失现有的填充,可以传入textView.getPaddingTop()(或底部,左侧,右侧)以保留值 (16认同)

pkk*_*pkk 19

我通常创建一个简单的实用工具方法,只是为了不忘记或错放其他填充:

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

要像以后一样使用,提供dp单位,就像在xmls中一样:

Utils.setPaddingLeft(myExampleTextView, 10)
Run Code Online (Sandbox Code Playgroud)