在中心动态创建textview

时间:2015-05-20 10:46:24

标签: android android-layout textview android-relativelayout

我有一个项目列表和相对布局。我想添加尽可能多的相对布局作为列表中的项目和文本视图中的项目。 我的问题是,我无法将textview定位在布局的中心。 在我的代码下面

for(int i = 0; i < Names.size(); i++)
    {                       
    textView = new TextView(this);
        textView.setText(Names.get(i)); 

         rt=new RelativeLayout(this);
        rt.setBackgroundResource(R.drawable.mednamedash);
        int curTextViewId = prevTextViewId + 1;
        int curRLId = prevRLId + 1;
        textView.setId(curTextViewId);
        rt.setId(curRLId);
        final RelativeLayout.LayoutParams params = 
            new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, 
                                            RelativeLayout.LayoutParams.WRAP_CONTENT);
        params.addRule(RelativeLayout.BELOW, prevTextViewId);
        rt.setLayoutParams(params);
        //textView.setLayoutParams(params);


        rt.addView(textView);
        textView.setGravity(Gravity.CENTER);
        prevTextViewId = curTextViewId;
        prevRLId=curRLId;
        noon.addView(rt, params);
    }        

这里rt是动态创建的RelativeLayout,textView是动态创建的TextView ...中午是RelativeLayout我将所有内容添加到。

2 个答案:

答案 0 :(得分:2)

试试这个:

final RelativeLayout.LayoutParams tvParams = 
        new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                                        RelativeLayout.LayoutParams.WRAP_CONTENT);
tvParams.addRule(RelativeLayout.CENTER_IN_PARENT);
rt.addView(textView, tvParams);

答案 1 :(得分:0)

在添加textView.setGravity(Gravity.CENTER);(RelativeLayout)之前尝试使用rt