2017-02-09 90 views
0
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

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

回答

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); 
+0

当我试图设置与上面的代码填充,左,右的罚款。问题是顶部和底部填充不起作用。我认为这与高度上的'wrap_content'有关。但我不知道究竟是为什么...... –

+0

我认为这是你的布局中的东西,该视图依赖于布局中的其他东西,它不能添加底部和顶部边距。向我发送截图或代码,了解您的布局外观 –

0

更改顶部和底部填充,

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