我创建了一个垂直线性布局并在其中放置了许多项目,并且只有部分可以显示在屏幕上。我可以看到布局的前几个项目,但无法看到布局的最后几个项目。 如何使线性布局可滚动,以便用户可以滚动屏幕以查看线性布局的最后几项? 以下是布局xml文件的内容:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView_gridw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Grid Width"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_gridw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView_gridh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Height"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_gridh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<TextView
android:id="@+id/textView_gridbt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Border thickness"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_gridborderthickness"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView_bgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="BgImg Width"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_bgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:focusable="false"
android:inputType="number" />
<TextView
android:id="@+id/textView_bgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Height"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_bgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:focusable="false"
android:inputType="number" />
<TextView
android:id="@+id/textView_mtgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="MTG Width"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_mtgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<TextView
android:id="@+id/textView_mtgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Height"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_mtgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Margin(left, top, right, bottom):"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText_margin_l"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/editText_margin_t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/editText_margin_r"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/editText_margin_b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<TextView
android:id="@+id/textView_pathname_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Background image file path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<TextView
android:id="@+id/textView_pathname_thumbdir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Thumbnail images directory path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_thumbdir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<TextView
android:id="@+id/textView_pathname_treasure"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Treasure image file path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_treasure"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<TextView
android:id="@+id/textView_pathname_signature"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Signature image file path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_signature"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button_reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="reset"
android:text="Reset" />
<Button
android:id="@+id/button_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="apply"
android:text="Apply" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:17)
您应该将LinearLayout
包裹在ScrollView:
视图层次结构的布局容器,可以由用户滚动,允许它大于物理显示。 ScrollView是一个FrameLayout,意味着你应该在其中放置一个包含整个内容的子项进行滚动;这个子本身可能是一个具有复杂对象层次结构的布局管理器。经常使用的子项是垂直方向的LinearLayout,呈现用户可以滚动的顶级项目的垂直数组。
答案 1 :(得分:7)
您可以使用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"
android:orientation="vertical" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView_gridw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Grid Width"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_gridw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView_gridh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Height"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_gridh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<TextView
android:id="@+id/textView_gridbt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Border thickness"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_gridborderthickness"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView_bgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="BgImg Width"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_bgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:focusable="false"
android:inputType="number" />
<TextView
android:id="@+id/textView_bgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Height"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_bgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:focusable="false"
android:inputType="number" />
<TextView
android:id="@+id/textView_mtgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="MTG Width"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_mtgw"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<TextView
android:id="@+id/textView_mtgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Height"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_mtgh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Margin(left, top, right, bottom):"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/editText_margin_l"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/editText_margin_t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/editText_margin_r"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/editText_margin_b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<TextView
android:id="@+id/textView_pathname_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Background image file path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<TextView
android:id="@+id/textView_pathname_thumbdir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Thumbnail images directory path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_thumbdir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<TextView
android:id="@+id/textView_pathname_treasure"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Treasure image file path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_treasure"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<TextView
android:id="@+id/textView_pathname_signature"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Signature image file path name:"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText_pathname_signature"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button_reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="reset"
android:text="Reset" />
<Button
android:id="@+id/button_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="apply"
android:text="Apply" />
</LinearLayout>
</LinearLayout>
</ScrollView>