Nie mogę przewinąć ekranu w dół, aby wyświetlić dane w sekcji „Odpowiedział:”. Jak mogę sprawić, by mój układ był przewijalny?
88
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>
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
)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>
źródło
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>
źródło
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
gdziex
może być dowolna wartość liczbowa.źródło
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>
źródło