如何使布局可滚动?

时间:2011-06-21 08:04:29

标签: android android-layout

enter image description here

这是我的应用程序中的编辑表单, 在“Simpan Perubahan”按钮后面还有一个按钮。 如何使我的表单可滚动并使最后一个按钮可见并可点击?

我对布局知之甚少。

代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">
      <TextView
        android:text="ID Objek"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <EditText
        android:id="@+id/tv_obj_id"
        android:editable="false"
        android:singleLine="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <TextView
        android:text="Nama Objek"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <EditText
        android:id="@+id/tv_obj_nama"
        android:editable="true"
        android:singleLine="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <TextView
        android:text="Detail Objek"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <EditText
        android:id="@+id/tv_obj_det"
        android:editable="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <TextView
        android:text="Koordinat Objek"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <TextView
        android:text="Longitude"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <EditText
        android:id="@+id/tv_obj_long"
        android:editable="true"
        android:singleLine="true"
        android:inputType="numberDecimal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <TextView
        android:text="Latitude"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <EditText
        android:id="@+id/tv_obj_lat"
        android:editable="true"
        android:singleLine="true"
        android:inputType="numberDecimal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
      <Button 
        android:id="@+id/btn_obj_submit"
        android:text="Simpan Perubahan"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
      <Button 
        android:id="@+id/btn_obj_back"
        android:text="Simpan Perubahan"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

我该怎么做我的xml文件?

3 个答案:

答案 0 :(得分:2)

您的布局应该是

<LinearLayout vertical>
    <ScrollView>
        <LinearLayout vertical>
        ... here are your fields ...
        </LinearLayout>
    </ScrollView>
    <LinearLayout horizontal>
    ... here are your buttons ...
    </LinearLayout>
</LinearLayout>

答案 1 :(得分:1)

在xml中使用ScrollView组件。 example

答案 2 :(得分:0)

您可以使用 flutter 中的滚动小部件制作 List.builder 或 listview 或使用可滚动布局。以下是您可以根据需要自定义的代码,我使用 List.builder

列表项 = ["1","2","3","4"];

return Scaffold(
  backgroundColor: Colors.grey[200],
  body: Padding(
    padding: const EdgeInsets.all(18.0),
    child: Column(
      children: [
        Padding(
          padding: const EdgeInsets.fromLTRB(10.0, 0.0, 0.0, 18.0),
          child: Align(
            alignment: Alignment.topLeft,
            child: ListTile(
              leading: Row(
                children: [
                  Text(
                    "LeaderBoard",
                    style: TextStyle(
                        fontWeight: FontWeight.bold,
                        color: Colors.black,
                        fontSize: 30),
                  ),
                  Icon(
                    Icons.trending_up,
                    size: 30,
                  ),
                ],
              ),
            ),
          ),
        ),
        Padding(
          padding: const EdgeInsets.all(20.0),
          child: Row(
            children: [
              Expanded(
                child: Align(
                    alignment: Alignment.topLeft,
                    child: Text(
                      "Person",
                    )),
              ),
              Align(
                  alignment: Alignment.topRight,
                  child: Text(
                    "Score",
                  )),
            ],
          ),
        ),
        Expanded(
          child: new ListView.builder(
              itemCount: litems.length,
              itemBuilder: (BuildContext context, int index) {
                return new Card(
                  color: Colors.white,
                  child: ListTile(
                    leading: Text(litems[index]),
                    title: Text(litems[index]),
                  ),
                );
              }),
        ),
      ],
    ),
  ),
);

} }