在RelativeLayout中动态添加TextView

时间:2012-04-29 15:35:27

标签: android eclipse

我正在使用以下代码。代码应显示一行中的值的值,例如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);时没有显示任何内容

2 个答案:

答案 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,但是你需要显示它们。在我看来,这是最不凌乱的方式,它确保了你的文本视图的顺序。