Android:以编程方式仅设置一个文本视图的填充

新手上路,请多包涵

我想以编程方式设置文本视图的顶部填充。我知道您可以使用方法 setPadding() 来做到这一点。但问题是这个方法需要4个参数:left, top, right, bottom。我不想改变左,右和底部,我只想改变顶部填充。

那可能吗?

原文由 Xander 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 361
2 个回答

利用

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

仅调整您需要的参数并将其他参数设置为零。

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

原文由 Droidman 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 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)

原文由 pkk 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题