相对布局中的动态TextView

igd*_*de_ 11 android

我正在试图将动态布局用于我的项目的注释部分但是当我动态地设置文本视图的文本时,输出仅出现在屏幕的顶部.它将输出放在其他输出上

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

        }
Run Code Online (Sandbox Code Playgroud)

那么我怎样才能将输出线性地放在屏幕的底部.

ina*_*ruk 21

您应该使用LinearLayout一个TextView接一个地自动添加.


假设你不能没有RelativeLayout,你需要动态生成所有TextView你创建的id ,以便将一个视图置于另一个视图之下.这是一个例子:

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);
        }              
    }    
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述