Nie mogę przewinąć ekranu w dół, aby wyświetlić dane w sekcji „Odpowiedział:”. Jak mogę sprawić, by mój układ był przewijalny?
Nie mogę przewinąć ekranu w dół, aby wyświetlić dane w sekcji „Odpowiedział:”. Jak mogę sprawić, by mój układ był przewijalny?
Odpowiedzi:
Po prostu zawiń to wszystko w ScrollView
:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Here you put the rest of your current view-->
</ScrollView>
Jak powiedział David Hedlund, ScrollView
może zawierać tylko jedną pozycję ... więc gdybyś miał coś takiego:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- bla bla bla-->
</LinearLayout>
Musisz to zmienić na:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- bla bla bla-->
</LinearLayout>
</ScrollView>
Aby użyć widoku przewijania razem z układem względnym:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"> <!--IMPORTANT otherwise backgrnd img. will not fill the whole screen -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/background_image"
>
<!-- Bla Bla Bla i.e. Your Textviews/Buttons etc. -->
</RelativeLayout>
</ScrollView>
Po prostu zawiń to wszystko w ScrollView
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ruatech.sanikamal.justjava.MainActivity">
<!-- Here you put the rest of your current view-->
</ScrollView>
Jeśli nawet nie dostałeś przewijania po zrobieniu tego, co jest napisane powyżej .....
Ustaw android:layout_height="250dp"
lub możesz powiedzieć, xdp
gdzie x
może być dowolna wartość liczbowa.
Tak, to jest bardzo proste. Po prostu umieść swój kod w tym:
<androidx.core.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
//YOUR CODE
</androidx.core.widget.NestedScrollView>
ScrollView
może zawierać tylko jedno dziecko, więc jeśli obecnie masz wiele widoków, musisz je zawinąć w jedną grupę widoków (powiedzmy aLinearLayout
)