1

動的に追加される5つのtextViewがありますが、各textViewは他のものをカバーしています。各 textView を特定の行に追加する方法は?

for(int z=0;z<c;z++){
    TextView lastHour = new TextView(projectActivity.this);
    lastHour.setPadding(5,z*35,0,0); // it currently allows me to see each textView in other line
    lastHour.setText("text"+z);                 
    relative_layout_for_last.addView(lastHour);
}

setPadding を使用すると、textView の背景が引き伸ばされます。前のtextViewとは別の行に各textViewを追加したいだけです。

4

4 に答える 4

2
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
             50, (LayoutParams.WRAP_CONTENT));
        lp.leftMargin=5;
or(int z=0;z<c;z++){
    TextView lastHour = new TextView(projectActivity.this);
    lastHour.setPadding(5,z*35,0,0); // it currently allows me to see each textView in other line
    lastHour.setText("text"+z);    
    lastHour.setLayoutParams(lp);             
    relative_layout_for_last.addView(lastHour);
}

このように、XML で行ったのと同じように独自のレイアウト パラメータを追加し、おおよそのテキスト ビューをビューに設定できます。

于 2011-12-23T11:33:16.497 に答える
1

それらを線形レイアウトでラップし、向きを垂直に設定できます。

http://developer.android.com/reference/android/widget/LinearLayout.html

コード スニペットが必要な場合は、お問い合わせください。私はここで少し急いでいます;)

于 2011-12-23T11:11:02.223 に答える
0

パディングはあなたが望むことをしません。上部とコンテンツの間のスペースが増えるだけです。Bramが言ったように、それらを垂直方向のLinearLayoutに追加するか、RelativeLayoutを維持したい場合は、ビューのIDを指定するlayout_below制約を追加します。

于 2011-12-23T11:13:19.010 に答える
0

LinearLayoutを囲むには a を使用する必要がありますTextViews。レイアウトの向きはverticalです。

に固執する必要があるRelativeLayout場合は、これを追加する必要があります。

layoutParams.addRule(RelativeLayout.BELOW, theTextViewAbove.getId());
于 2011-12-23T11:13:46.420 に答える