จะทำให้เค้าโครงของฉันสามารถเลื่อนลงได้อย่างไร?


92

ฉันไม่สามารถเลื่อนหน้าจอลงเพื่อดูข้อมูลในส่วน "ตอบกลับโดย:" ฉันจะเลื่อนเลย์เอาต์ของฉันได้อย่างไร

ข้อความแสดงแทน

คำตอบ:


203

เพียงห่อทั้งหมดไว้ภายใน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>

ดังที่ David Hedlund กล่าวว่าScrollView สามารถบรรจุได้เพียงรายการเดียว ... ดังนั้นหากคุณมีสิ่งนี้:

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

คุณต้องเปลี่ยนเป็น:

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

16
+1. หมายเหตุสั้น ๆ : a ScrollViewสามารถมีลูกได้เพียงคนเดียวดังนั้นหากสิ่งที่คุณมีอยู่ในขณะนี้มีการดูจำนวนมากคุณต้องรวมไว้ในกลุ่มการดูเดียว (พูด a LinearLayout)
David Hedlund

วิธีแก้ไขปัญหาของฉันโปรดช่วยฉันด้วยstackoverflow.com/questions/38588702/…
Karthi

41

สำหรับการใช้มุมมองแบบเลื่อนพร้อมกับเลย์เอาต์แบบสัมพัทธ์:

<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
แท็กวิวพอร์ตคืออะไร
Ruchir Baronia

4

เพียงแค่รวมสิ่งนั้นไว้ใน 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>

1

ใช่มันง่ายมาก เพียงใส่รหัสของคุณภายในสิ่งนี้:

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

0

หากคุณไม่ได้เลื่อนหลังจากทำตามที่เขียนไว้ด้านบน .....

ตั้งค่าandroid:layout_height="250dp"หรือคุณสามารถพูดได้ว่าxdpที่ไหนxเป็นค่าตัวเลขใดก็ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.