【问题标题】:set top,bottom padding on textview with wrap_content使用 wrap_content 在 textview 上设置顶部、底部填充
【发布时间】:2017-06-27 00:53:06
【问题描述】:
  viewParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            viewParams.setMargins(15, 15, 15, 0);
  TextView text = new TextView(mContext);
  text.setLayoutParams(viewParams);
  text.setGravity(Gravity.CENTER_VERTICAL);
  text.setPadding(50,50,50,50);
  text.setBackground(mContext.getResources().getDrawable(R.drawable.exp_comments));

我希望我的 textview 具有顶部和底部填充。 我在 textview 周围设置了带有绿色矩形边框的背景。

我用 wrap_content 设置高度。 这意味着边框就在文本上方。 我想增加边框和文本之间的顶部和底部间隙。 所以,我尝试了 setPadding() 和 setPaddingRelative() 方法。 但它不起作用....

【问题讨论】:

    标签: android


    【解决方案1】:

    setPadding 方法的值以像素为单位。您应该将 dp 转换为像素,然后设置填充。

    int valueInDp = 50;
    Resources r = getResources();
    int px = (int) TypedValue
        .applyDimension(TypedValue.COMPLEX_UNIT_DIP, valueInDp, r.getDisplayMetrics());
    text.setPadding(px,px,px,px);
    

    【讨论】:

    • 当我尝试使用上面的代码设置填充时,左右工作正常。问题是顶部和底部填充不起作用。我认为这与高度上的“wrap_content”有关。但我不知道究竟是为什么.....
    • 我认为这是你的布局中的一些东西,视图依赖于布局中的其他东西,它不能添加底部和顶部边距。向我发送屏幕截图或代码您的布局的外观
    【解决方案2】:

    更改顶部和底部填充,

        text.setPadding(50,100,50,100);
    

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 2013-07-28
      • 2016-01-11
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 2020-01-29
      • 1970-01-01
      相关资源
      最近更新 更多