#android #view #orientation
#Android #Вид #ориентация
Вопрос:
Когда я перехожу в альбомный режим, две нижние кнопки для моей активности не видны.Экран должен был автоматически преобразоваться в прокручиваемый.Должен ли я что-то добавлять в свой XML-файл или файл манифеста?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Text in Hindi->"
/>
<TextView
style="@style/PassageStyle"
android:id="@ id/hindi"
android:textSize="30sp"
android:gravity="center"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Corresponding Text in English->"
/>
<TextView
style="@style/PassageStyle"
android:id="@ id/english"
android:textSize="30dip"
android:gravity="center"
/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@ id/listen_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="60dip"
android:text="@string/listen"
/>
<Button
android:id="@ id/slow_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Slow"
android:layout_marginLeft="30dip"
android:layout_toRightOf="@id/listen_Button"
android:layout_alignTop="@id/listen_Button"
/>
<Button
android:id="@ id/voice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/voice"
android:layout_alignLeft="@id/listen_Button"
android:layout_below="@id/listen_Button"
/>
<Button
android:id="@ id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
android:layout_below="@id/slow_button"
android:layout_alignLeft="@id/slow_button"
/>
</RelativeLayout>
</LinearLayout>
Комментарии:
1. «Экран должен был автоматически преобразоваться в прокручиваемый». Что заставляет вас так думать?
2. У меня есть другой Listactivity, для которого он отлично работает. Есть решение вышеуказанной проблемы?
3. Содержимое ListView по своей сути прокручивается, так что все будет в порядке. Отдельные представления, помещаемые одно за другим в LinearLayout, таковыми не являются.
Ответ №1:
Где вы определяете свой ScrollView?
Попробуйте это так:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
... other stuff ...
</LinearLayout>
</ScrollView>
Ответ №2:
Мне еще предстоит его использовать, но это должно работать нормально, если вы обернете весь xml в ScrollView.
http://developer.android.com/reference/android/widget/ScrollView.html
Ответ №3:
если вы хотите, чтобы ваш экран можно было прокручивать, вам следует добавить ScrollView
в качестве корневого макета вот так :
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_heigth="fill_parent"
android:layout_width="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Text in Hindi->"
/>
<TextView
style="@style/PassageStyle"
android:id="@ id/hindi"
android:textSize="30sp"
android:gravity="center"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Corresponding Text in English->"
/>
<TextView
style="@style/PassageStyle"
android:id="@ id/english"
android:textSize="30dip"
android:gravity="center"
/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@ id/listen_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="60dip"
android:text="@string/listen"
/>
<Button
android:id="@ id/slow_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Slow"
android:layout_marginLeft="30dip"
android:layout_toRightOf="@id/listen_Button"
android:layout_alignTop="@id/listen_Button"
/>
<Button
android:id="@ id/voice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/voice"
android:layout_alignLeft="@id/listen_Button"
android:layout_below="@id/listen_Button"
/>
<Button
android:id="@ id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
android:layout_below="@id/slow_button"
android:layout_alignLeft="@id/slow_button"
/>
</RelativeLayout>
</LinearLayout>
</ScrollView>