2

アクティビティに水平レイアウトを動的に追加しましたが、それらの中に入れようとしtextviewsています。

textviews問題は、一部を右に、一部を左に置くことができないことです。

を試してみましたが、テキスト自体を移動するのではなくtextview.setgravity、テキストの場所を変更しただけです。textviewtextview

編集:アイデアを得るのに役立つ私のコードの一部を次に示します。

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あなたのニーズに合っていて、推奨されていないネストされた多くの s を節約できるようにLinearLayout思えます (パフォーマンスに関して)。

于 2013-04-12T11:18:50.550 に答える
0

テキストビューを含む LinearLayout にレイアウトの重力を設定する必要があります。

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

必ずLinearLayout.LayoutParamsを使用してください

于 2013-04-12T10:23:50.147 に答える