我正在使用以下代码。代码应显示一行中的值的值,例如values[]
包含{A,B,C,D,E,F}
它应该在A B C D E F
中显示relative layout
。如果我不使用LayoutParams pramas
,则会将所有textViews
相互添加。如何让它们添加到彼此的左边
for (int i = 0 ; i < values.length ; i++)
{
TextView textView = new TextView(this);
textView.setText(values[i].toString());
textView.setTextColor(Color.BLACK);
textView.setClickable(true);
textView.setId(i);
textView.setBackgroundDrawable(d);
textView.setTextSize(24);
LayoutParams param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params.setMargins(5, 50, 0, 0);
if (i>0)
params.addRule(RelativeLayout.RIGHT_OF, i);
textView.setLayoutParams(param);
wordsLayout.addView(textView,params);
}
}
问题是,当我使用wordsLayout.addView(textView,params);
时没有显示任何内容
答案 0 :(得分:1)
U R工作代码......
LinearLayout wordsLayout = new LinearLayout(this);
for (int i = 0 ; i < 5 ; i++)
{
TextView textView = new TextView(this);
textView.setText(String.valueOf(i));
textView.setTextColor(Color.RED);
textView.setClickable(true);
textView.setId(i);
textView.setBackgroundDrawable(d);
textView.setTextSize(24);
LayoutParams param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params.setMargins(5, 50, 0, 0);
if (i>0)
params.addRule(RelativeLayout.RIGHT_OF, i);
textView.setLayoutParams(param);
wordsLayout.addView(textView,params);
}
setContentView(wordsLayout);
答案 1 :(得分:0)
我建议将每个Textview放在自己的Viewgroup中,该Viewgroup包含Textviews内容大小。让所有Viewgroups以您希望所有可见文本视图的方式排列在一起。并使内部textview-elements VISIBLE和GONE,但是你需要显示它们。在我看来,这是最不凌乱的方式,它确保了你的文本视图的顺序。