Проблемы с альбомной ориентацией (методы отладки макета) - PullRequest
0 голосов
/ 06 января 2012

Я полагаю, что это плагин, который сосет здесь.Когда я переключаюсь на альбомный вид в затмении, я получаю что-то вроде этого: http://img718.imageshack.us/img718/1239/landscape1je.jpg

Конечно, это не напоминает типичный 4-дюймовый экран.Так что нет способа проверить, как ScrollView работает в затмении?

Хорошо, поэтому я отправляю приложение на телефон.И тут беда.Когда я поворачиваю телефон к пейзажу, я получаю следующее: http://imageshack.us/photo/my-images/718/landscape3x.jpg/

И это самая лучшая прокрутка, которую я могу получить.Это изображение показывает прокручиваемую область: http://img849.imageshack.us/img849/2774/landscape2y.jpg

И это мой код xml.Я бы сделал этот обычный способ проб и ошибок, но отправка приложения на телефон каждый раз делает его действительно длинным: / Может быть, я смогу получить некоторую помощь здесь быстрее

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:layout_margin="30dip"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <Button
            android:id="@+id/add_income"
            android:layout_width="120dip"
            android:layout_height="120dip"
            android:layout_margin="15dip"
            android:drawableTop="@drawable/icon_income"
            android:text="@string/income" >
        </Button>

        <Button
            android:id="@+id/add_expense"
            android:layout_width="120dip"
            android:layout_height="120dip"
            android:layout_margin="15dip"
            android:drawableTop="@drawable/icon_expense"
            android:text="@string/expense" >
        </Button>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <Button
            android:id="@+id/categories"
            android:layout_width="120dip"
            android:layout_height="120dip"
            android:layout_margin="15dip"
            android:drawableTop="@drawable/icon_category"
            android:text="@string/categories" >
        </Button>

        <Button
            android:id="@+id/summary"
            android:layout_width="120dip"
            android:layout_height="120dip"
            android:layout_margin="15dip"
            android:drawableTop="@drawable/icon_summary"
            android:text="@string/summary" >
        </Button>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center" >

        <Button
            android:id="@+id/charts"
            android:layout_width="120dip"
            android:layout_height="120dip"
            android:layout_margin="15dip"
            android:drawableTop="@drawable/icon_charts"
            android:text="@string/charts" >
        </Button>

        <Button
            android:id="@+id/bug_list"
            android:layout_width="120dip"
            android:layout_height="120dip"
            android:layout_margin="15dip"
            android:drawableTop="@drawable/icon_bug"
            android:text="@string/bugs" >
        </Button>
    </LinearLayout>
</LinearLayout>

1 Ответ

1 голос
/ 06 января 2012

В этом случае (я добавляю его здесь как ответ, а не комментарий), вам нужно разрабатывать макеты отдельно для ландшафтного режима и помещать эти макеты в res/layout-land.Но имейте в виду - соглашения об именах для макетов должны быть одинаковыми.Например: setContentView(R.layout.main); по умолчанию загружает portrait layout.Поэтому, когда вы включите телефон и появится сообщение landscape layout, Android автоматически получит XML из ваших папок layout-land.Итак, setContentView(R.layout.main); на этот раз загружает xml из этой папки.При разработке самого макета вы должны сделать так, чтобы графический редактор отображался в режиме landscape, чтобы его было легче создавать.Попробуй это.

...