我正在生成像这样的TextView:
for(String substring : list)
{
TextView myTv = new TextView(this);
myTv.setTextSize(20);
myTv.setGravity(Gravity.CENTER);
myTv.setText(substring);
}
这很有效,除了我想在TextViews之间留出更多空间(TextViews彼此相同)。所以我将我的代码更改为此设置底部边距:
for(String substring : list)
{
TextView myTv = new TextView(this);
myTv.setTextSize(20);
LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(AbsListView.LayoutParams.WRAP_CONTENT, AbsListView.LayoutParams.WRAP_CONTENT);
llp.setMargins(0, 0, 0, 30);
myTv.setLayoutParams(llp);
myTv.setGravity(Gravity.CENTER);
myTv.setText(substring);
}
现在我在TextViews之间有边距,但现在所有TextView都向左对齐。如何在TextView之间留出空间并使TextView居中?感谢。
答案 0 :(得分:1)
for(String substring : list)
{
TextView myTv = new TextView(this);
myTv.setTextSize(20);
LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(AbsListView.LayoutParams.WRAP_CONTENT, AbsListView.LayoutParams.WRAP_CONTENT);
llp.setMargins(0, 0, 0, 30);
//notice this line.
llp.gravity = Gravity.CENTER;
myTv.setLayoutParams(llp);
myTv.setGravity(Gravity.CENTER);
myTv.setText(substring);
}
答案 1 :(得分:0)
以XML格式控制视图更容易。
您可以使用所需的文本视图创建text_view.xml
布局文件。然后再将它膨胀多少次。
text_view.xml
<TextView
android:layout_widht="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:layout_marginBottom="30dp"
android:gravity="center"
... />
在您的活动/片段
中TextView textView = (TextView) LayoutInflater.from(context).inflate(new LinearLayout(context), R.layout.text_view, false);
textView.setText("some text");