Làm cách nào để bố cục của tôi có thể cuộn xuống?


88

Tôi không thể cuộn xuống màn hình để xem dữ liệu trong phần "Người đã trả lời:". Làm cách nào để làm cho bố cục của tôi có thể cuộn được?

văn bản thay thế

Câu trả lời:


200

Chỉ cần bọc tất cả những thứ đó bên trong 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>

Như David Hedlund đã nói, chỉ ScrollView có thể chứa một mục ... vì vậy nếu bạn có một thứ như thế này:

<?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>

Bạn phải thay đổi nó thành:

<?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>

15
+1. ghi chú nhanh: a ScrollViewchỉ có thể chứa một đứa trẻ, vì vậy nếu những gì bạn đang đã có rất nhiều quan điểm, bạn cần phải bọc chúng trong một nhóm view (nói một LinearLayout)
David Hedlund

1
Cảm ơn bạn @David Hedlund
Prateek Raj

làm thế nào để khắc phục vấn đề giúp đỡ xin vui lòng tôi tôi stackoverflow.com/questions/38588702/...
Karthi

40

Để sử dụng dạng xem cuộn cùng với Bố cục tương đối:

<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>

1
Tag viewport là gì
Ruchir Baronia

4

Chỉ cần bọc tất cả những thứ đó bên trong 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>

0

Nếu bạn thậm chí không nhận được cuộn sau khi làm những gì được viết ở trên .....

Đặt android:layout_height="250dp"hoặc bạn có thể nói xdpnơi xcó thể là bất kỳ giá trị số nào.


0

Vâng, nó rất đơn giản. Chỉ cần đặt mã của bạn vào bên trong:

<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>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.