我在屏幕上有很多项目,我需要使用滚动条,以便用户可以向下滚动。然而,滚动要么不可见,要么不起作用。如何将滚动条添加到LinearLayout?
LinearLayout
用<ScrollView>包装线性布局
<ScrollView>
例如: . .
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <!-- Content here --> </LinearLayout> </ScrollView> </LinearLayout>
注意:在API Level 8中,宽和已弃用,并重命名为match_parent 和更高。< / p >
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/container" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> </LinearLayout> </ScrollView>
你可以在linearLayout: android:scrollbars="vertical"中添加一个属性
android:scrollbars="vertical"
下面是我通过试错的方法做到的。
ScrollView - (the outer wrapper). LinearLayout (child-1). LinearLayout (child-1a). LinearLayout (child-1b).
由于ScrollView只能有一个子元素,所以该子元素是线性布局。然后所有其他布局类型都出现在第一个线性布局中。我还没有尝试包含一个相对布局,但它们让我发疯,所以我要等到我的理智回来。
<LinearLayout 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" android:orientation="vertical" tools:context=".MainActivity"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <---------Content Here ---------------> </LinearLayout> </ScrollView> </LinearLayout>
你需要放置滚动视图作为布局文件的第一个子文件,现在把你的线性布局放在里面。现在,android将根据可用的内容和设备大小决定是否显示滚动。
确保linearlayout没有兄弟元素,因为滚动视图不能有多个子元素。
这可以使用标记<ScrollView>来完成。对于滚动视图,有一件事你必须提醒,ScrollView必须有一个子节点。
如果你想要你的完整布局是可滚动的,那么在顶部添加<ScrollView>。检查下面给出的例子。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <!-- Content here --> </LinearLayout> </ScrollView>
但是如果你想要布局的某些部分是可滚动的,那么在该部分中添加<ScrollView>。检查下面给出的例子。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="400dp"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <!-- Content here --> </LinearLayout> </ScrollView> </LinearLayout>
您需要使用以下属性并将其包含在线性布局中
<LinearLayout ...> <scrollView ...> </scrollView> </LinearLayout>
你需要用滚动视图来包装你的线性布局
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> </LinearLayout> </ScrollView>
当你想让一个布局可滚动时,你可以使用<ScrollView>,其中包含一个布局或组件。