Android - линейная выкладка в scrollview - PullRequest
0 голосов
/ 16 марта 2011

Поскольку мой пользовательский интерфейс довольно прост, я бы хотел обслуживать как альбомную, так и книжную в одном xml-файле.

В портретном режиме все так, как мне бы хотелось.В альбомной ориентации текстовое представление main_title практически не отображается.Есть ли обходной путь для этого?

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:background="@color/background"
    android:layout_width="fill_parent" android:padding="20dip"
    android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:layout_height="fill_parent"
        android:layout_gravity="center" android:orientation="vertical"
        android:layout_marginTop="30dip" android:id="@+id/LinearLayout01"
        android:layout_width="fill_parent">
        <TextView android:layout_marginBottom="15dip"
            android:textSize="24.5sp" android:layout_height="wrap_content"
            android:id="@+id/TextView01" android:layout_gravity="center"
            android:text="@string/main_title" android:layout_width="wrap_content"></TextView>
        <Button android:layout_marginBottom="15dip"
            android:layout_height="wrap_content" android:id="@+id/start_button"
            android:text="@string/start_label" android:layout_width="fill_parent"></Button>
        <TextView android:textSize="18sp" android:layout_height="wrap_content"
            android:id="@+id/TextView02" android:text="@string/time_window_please_select_label"
            android:layout_width="wrap_content"></TextView>
        <Spinner android:layout_height="wrap_content" android:id="@+id/spinner"
            android:prompt="@string/time_window_prompt" android:layout_width="fill_parent"></Spinner>
        <TextView android:layout_height="wrap_content"
            android:layout_marginBottom="10dip" android:id="@+id/status_label"
            android:layout_width="wrap_content"></TextView>
        <TextView android:layout_height="wrap_content"
            android:layout_marginBottom="10dip" android:id="@+id/status_time_label"
            android:layout_width="wrap_content">
        </TextView>
        <ImageView android:layout_marginTop="60dip" android:id="@+id/info_button"
            android:src="@drawable/info" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_gravity="bottom|right" />
    </LinearLayout>

</ScrollView>

Ссылки:

http://www.doc.ic.ac.uk/~am907/landscape.png

http://www.doc.ic.ac.uk/~am907/portrait.png

Ответы [ 2 ]

1 голос
/ 16 марта 2011

похоже, что проблема связана с вашими значениями margin и padding.

лучший вариант может заключаться в том, чтобы иметь 2 разных макета для этого, 1 - портретное, а другое - альбомное.создайте другую папку с именами layout-land и layout-port в папке res.затем скопируйте файл макета в обе эти папки и внесите соответствующие изменения для ориентации.

см. документацию по Android для получения дополнительной информации о предоставлении различных ресурсов для различных ориентаций и т. д .: http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

0 голосов
/ 16 марта 2011

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

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