Элементы iosched DashboardLayout отображаются как вертикальный линейный макет

Я использую макет панели инструментов Романа Нурика из code.google.com/p/iosched/source/browse/android/src/com/google/android/apps/iosched/ui/widget/DashboardLayout.java, однако это не работает. может кто показать какие виджеты в нем работают, полагаю ImageView не лучший выбор

<com.vaibhavmishra.android.DashboardLayout
                android:id="@+id/dashboard" android:layout_height="fill_parent"
                android:layout_width="fill_parent" android:layout_weight="1">
                <ImageView android:src="@drawable/img1"
                    android:id="@+id/c_img1" android:layout_height="wrap_content"
                    android:layout_width="wrap_content"></ImageView>
                <ImageView android:src="@drawable/img2"
                    android:id="@+id/c_img2" android:layout_height="wrap_content"
                    android:layout_width="wrap_content"></ImageView>
                <ImageView android:src="@drawable/img3" android:id="@+id/c_img3"
                    android:layout_height="wrap_content" android:layout_width="wrap_content"></ImageView>
                <ImageView android:src="@drawable/img4"
                    android:layout_height="wrap_content" android:layout_width="wrap_content"
                    android:id="@+id/c_img4"></ImageView>
                <ImageView android:src="@drawable/img5" android:id="@+id/c_img5"
                    android:layout_height="wrap_content" android:layout_width="wrap_content"></ImageView>
            </com.vaibhavmishra.android.DashboardLayout>

прямо сейчас он просто показывает все пять изображений в одном вертикальном столбце в центре экрана.

вот скриншот того, что в данный момент появляется на экране

панель инструментов отображается в виде одной строки


person Vaibhav Mishra    schedule 25.08.2011    source источник


Ответы (1)


Я думаю, вам просто не повезло. DashboardLayout пытается найти наилучшую конфигурацию (количество строк и столбцов) на основе разницы между горизонтальным и вертикальным пространством. Но любая конфигурация, которая не покрыта значками (по одному значку в каждой ячейке), будет оштрафована путем умножения оценки на 10.

Один из способов заставить его вести себя так, как вы хотите, — добавить еще один значок. (Даже если это просто пустой TextView). Таким образом, вы можете получить ячейки 2х3 или 3х2 без штрафных санкций.

Другим способом может быть обновление множителя штрафа (UNEVEN_GRID_PENALTY_MULTIPLIER). Установите его на 2 или 1, и он должен работать так, как вы хотите.

person Markus Jarderot    schedule 25.08.2011
comment
Я добавил фиктивный вид, чтобы сделать его равным, спасибо за помощь. - person Vaibhav Mishra; 26.08.2011