我动态地将水平布局添加到我的活动中,并且我试图将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));
答案 0 :(得分:1)
听起来RelativeLayout
可能符合您的需求并为您节省大量不推荐使用的嵌套LinearLayout
(性能明智)。
答案 1 :(得分:0)
您必须将布局重力设置为包含textview的LinearLayout。
LayoutParams lp = new LayoutParams();
lp.gravity= Gravity.CENTER_HORIZONTAL;
textview1.setLayoutParams(lp);