2

我为我的活动动态添加了水平布局,并试图将它们放入textviews其中。

问题是,我不能把一些放在textviews右边,一些放在左边。

我试过textview.setgravity了,但它只是改变了里面文本的位置,textview而不是移动它textview本身。

编辑:这是我的一些代码,可以帮助您获得一个想法:

for(int i=0;i<nbelem;i++){          //génération des boutons des commandes
        layouts[i] = new RelativeLayout(this);
        layouts[i].setClickable(true);      //toute la zone est cliquable
        layouts[i].setId(i);
        layouts[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 150));


        Info[i] = new TextView(this);
        Info[i].setClickable(true); 
        Info[i].setId(i);
        Info[i].setText("Pizza 4 fromages x2 \n Pizza chevre x2");
        Info[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.FILL_PARENT));

        layouts[i].addView(Info[i]);


        Numcom[i] = new TextView(this);
        Numcom[i].setClickable(true);
        Numcom[i].setId(i);
        Numcom[i].setText("n°1522");
        Numcom[i].setGravity(Gravity.RIGHT | Gravity.TOP);              
        Numcom[i].setTextSize(12);
        Numcom[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,50));
4

2 回答 2

1

这听起来RelativeLayout可能适合您的需求并为您节省大量LinearLayout不推荐的嵌套 s(性能方面)。

于 2013-04-12T11:18:50.550 回答
0

您必须为包含您的 textview 的 LinearLayout 设置布局重力。

LayoutParams lp = new LayoutParams();
lp.gravity= Gravity.CENTER_HORIZONTAL; 
textview1.setLayoutParams(lp);

确保使用LinearLayout.LayoutParams

于 2013-04-12T10:23:50.147 回答