layout_weight в TableLayout
Добавлено: 24 июл 2012, 14:10
Уважаемые пользователи форума, прошу совета. Пишу небольшую игрушку. Главная форма выглядит следующим образом: вверху header с индикаторами (прошедшее время, достижения), по центру потомок SurfaceView для отрисовки собственно игрового поля а внизу footer с несколькими кнопками, для управления собственно состоянием игрового поля (масштабирование, перезапуск игры и т.д.).
Для реализации этой формы решил использовать TableLayout с тремя TableRows (для хедера, контента и футера соответственно). При этом хедер и футер должны занимать по 10% от размера экрана а контент соответственно 80%.
Проблема в следующем: если хедер или футер пусты, то они не отображаются вовсе. Если же добавить в них содержимое, то их размеры подстраиваются под это содержимое, независимо от того, что установлено значение layout_weight. Подскажите пожалуйста, каким шаманством мне выйти из ситуации и поделить экран в пропорции 10/80/10. Перепробувал уже кучу комбинаций, но ничего не выходит. Можно конечно напрямую установить размеры хедера и футера в dp, но меня это не совсем устраивает. Впрочем, ели выхода не найду, то буду идти этим путем.
Для реализации этой формы решил использовать TableLayout с тремя TableRows (для хедера, контента и футера соответственно). При этом хедер и футер должны занимать по 10% от размера экрана а контент соответственно 80%.
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background" >
<!-- header -->
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_weight="10" >
</TableRow>
<!-- content -->
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:layout_weight="80" >
</TableRow>
<!-- footer -->
<TableRow
android:id="@+id/tableRow3"
android:layout_width="fill_parent"
android:layout_weight="10" >
</TableRow>
</TableLayout>

