我正在尝试对项目的评论部分使用动态布局,但是当我动态设置 textview 的文本时,输出仅出现在屏幕顶部。并将输出置于其他输出之上
RelativeLayout ll=(RelativeLayout) findViewById(R.id.rl);
for(int i = 0; i < 20; i++) {
TextView cb = new TextView(this);
cb.setText("YORUMLAR"+yorum[0]+i);
cb.setTextSize(30);
ll.addView(cb);
}
那么我怎样才能将输出线性地放在屏幕的底部。
最佳答案
您应该使用 LinearLayout
来自动添加一个接一个的 TextView
。
假设您离不开 RelativeLayout
,您需要为您创建的所有 TextView
动态生成 ID,以便将一个 View 置于另一个 View 之下。这是示例:
public class HelloWorld extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
RelativeLayout layout = (RelativeLayout)findViewById(R.id.layout);
Random rnd = new Random();
int prevTextViewId = 0;
for(int i = 0; i < 10; i++)
{
final TextView textView = new TextView(this);
textView.setText("Text "+i);
textView.setTextColor(rnd.nextInt() | 0xff000000);
int curTextViewId = prevTextViewId + 1;
textView.setId(curTextViewId);
final RelativeLayout.LayoutParams params =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, prevTextViewId);
textView.setLayoutParams(params);
prevTextViewId = curTextViewId;
layout.addView(textView, params);
}
}
}
关于android - 相对布局中的动态 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583019/