2011-12-23 4 views
1

У меня есть 5 текстовых элементов, которые добавляются динамически, но каждый textViews охватывает другие. Как добавить каждый текст в определенную строку?Android: 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 в другую строку, чем предыдущие textViews.

+0

Возможно, фон макета, который содержит текстовые изображения, растянут, а не фон текста – mihail

ответ

0

Прокладка не будет делать то, что вы хотите. Это просто увеличит пространство между вершиной и контентом. Либо добавьте их в LinearLayout с вертикальной ориентацией, как сказал Брэм, или если вы хотите сохранить RelativeLayout, добавьте ограничение layout_below с указанием идентификатора вашего представления сверху.

0

Вы должны использовать LinearLayout, чтобы окружить TextViews. Ориентация макета должна быть vertical.

Если вам нужно придерживаться RelativeLayout следует добавить следующее:

layoutParams.addRule(RelativeLayout.BELOW, theTextViewAbove.getId()); 
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 и установить вид текста примерно на ваш взгляд ,