Я пытаюсь создать активность, которая представляет некоторые данные пользователю. Данные таковы, что их можно разделить на "слова", каждый из которых является виджетами, а последовательность "слов" будет формировать данные ( "предложение"?), Виджет ViewGroup, содержащий слова. Поскольку пространство, требуемое для всех "слов" в "предложении", превысило бы доступное горизонтальное пространство на дисплее, я хотел бы обернуть эти "предложения", как вы бы нормальный фрагмент текста.
Следующий код:
public class WrapTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l = new LinearLayout(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayout.LayoutParams mlp = new LinearLayout.LayoutParams(
new ViewGroup.MarginLayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
mlp.setMargins(0, 0, 2, 0);
for (int i = 0; i < 10; i++) {
TextView t = new TextView(this);
t.setText("Hello");
t.setBackgroundColor(Color.RED);
t.setSingleLine(true);
l.addView(t, mlp);
}
setContentView(l, lp);
}
}
дает что-то вроде левого изображения, но я бы хотел, чтобы макет представлял те же виджеты, что и в правой.
non-wrapping http://fnord.se/android/01-have.png wrapping http://fnord.se/android/01-want.png
Есть ли такой макет или комбинация макетов и параметров или мне нужно реализовать свою собственную ViewGroup для этого?