Я пытаюсь использовать GridLayout (не GridView!), чтобы получить такой макет:
Но с моим кодом (и всем, что я пробовал до сих пор) верхняя часть двух горизонтально соседних представлений всегда выравнивается. Можно ли вместо этого указать, что каждое новое представление должно быть выровнено по верхней отметке его столбца? (см. Новые виджеты макета: Space и GridLayout в разделе «Автоматическое размещение индекса»)
Мой layout.xml сейчас выглядит так:
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll_view_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:columnCount="2"
/>
К этому GridLayout я добавляю свои представления программно:
GridLayout scrollViewContainer = Views.findById(rootView, R.id.scroll_view_container);
for (i=0; i < list.size(); i++)
TextView tv = new TextView(context);
tv.setText("foobar");
GridLayout.LayoutParams lp = new GridLayout.LayoutParams();
// left, right, left, right - creates new default rows
lp.columnSpec = GridLayout.spec(i%2);
// this would put every view in the same row => all Views are on the very top
// lp.rowSpec = GridLayout.spec(0);
tv.setLayoutParams(lp);
scrollViewContainer.addView(tv);
}