Попытка упорядочить виды изображений в виде сетки - PullRequest
0 голосов
/ 05 ноября 2011

Я хочу иметь сетку с типами изображений.Для начала я попытался понять, смогу ли я получить это, используя простые кнопки.Это достаточно просто, когда я могу создать массив кнопок, используя линейные макеты, но проблема возникает, когда я пытаюсь использовать imageView вместо кнопки.
Существует ли простой способ заставить Android соответствовать imageView точно так жепробел, в который помещается кнопка.
Вид изображения, кажется, игнорирует ширину веса?Я не против, если соотношение сторон изображения будет искажено, но в идеале оно сохранит это соотношение и просто уменьшит изображение до точного соответствия.Каков наилучший способ заставить это работать?

Вот мой текущий xml .......

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:weightSum="4" >

<LinearLayout
    android:id="@+id/linearLayout3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@drawable/chicken" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:text="Button" />
</LinearLayout>
<LinearLayout
    android:id="@+id/linearLayout3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1" >
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:text="Button" />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:text="Button" />
</LinearLayout>

</LinearLayout>

Ответы [ 2 ]

0 голосов
/ 05 ноября 2011

Вы можете попробовать использование сетки в приложении Photostream от Romain Guy. Он размещает дочерние представления в ячейках одинакового размера в зависимости от количества строк и столбцов. Вот исходный код .

Это будет выглядеть примерно так в xml-файле

<com.blessan.dashboard.GridLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <!--Child views go here-->
</com.blessan.dashboard.GridLayout>

Вам нужно будет указать количество строк и столбцов.

0 голосов
/ 05 ноября 2011

если вы используете параметры веса / веса в вашей линейной разметке, вам может потребоваться установить для вашего роста (если линейное выкладывание вертикальное) или ширины (если линейное вылет горизонтальное) на 0dip вместо fill_parent. таким образом, ваше распределение layout_weight будет вычислено правильно. это не имеет значения, если вы используете равные веса (1), но вы заметите разницу при попытке назначить разные веса для разных дочерних элементов в вашем линейном разложении.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...