在Android中滚动线性布局

时间:2012-03-15 23:14:03

标签: android sqlite android-layout scrollbar scrollview

我想将滚动条添加到我的线性布局表单中,因为它太长了。

它有19个文本视图和编辑视图。

请任何人都可以将滚动视图代码添加到xml文件中。

这是我的xml代码:

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >



<TextView
    android:id="@+id/Name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Name"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

 <TextView
    android:id="@+id/FirstName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="FirstName"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editFirstName"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>

 <TextView
    android:id="@+id/DateOfBirth"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Date Of Birth"
    android:textAppearance="?android:attr/textAppearanceLarge" />

 <ScrollView
     android:id="@+id/scrollView1"
     android:layout_width="match_parent"
     android:layout_height="wrap_content" >

     <LinearLayout
         android:id="@+id/linearLayout2"
         android:layout_width="match_parent"
         android:layout_height="match_parent" >
     </LinearLayout>
 </ScrollView>

 <EditText
     android:id="@+id/editDateOfBirth"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:inputType="date" />

 <TextView
    android:id="@+id/PlaceOfbirth"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Place Of birth"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editPlaceOfbirth"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>
 <TextView
    android:id="@+id/Address"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Address"
    android:textAppearance="?android:attr/textAppearanceLarge" />

 <EditText
     android:id="@+id/editAddress"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:inputType="textPostalAddress" />

 <TextView
    android:id="@+id/PhoneNumber"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="PhoneNumber"
    android:textAppearance="?android:attr/textAppearanceLarge" />

 <EditText
     android:id="@+id/editPhoneNumber"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:inputType="phone" />

 <TextView
    android:id="@+id/e_mail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="e-mail"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/edite_mail"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textEmailAddress" >

    <requestFocus />
</EditText>
 <TextView
    android:id="@+id/SocialInsurance"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Social Insurance"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editSocialInsurance"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="number" >

    <requestFocus />
</EditText>
 <TextView
    android:id="@+id/GeneralPractioner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="General Practioner"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editGeneralPractioner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/Size"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Size"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editSize"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>

 <TextView
    android:id="@+id/Weight"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Weight"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editWeight"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>
 <TextView
    android:id="@+id/BMI"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="BMI"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editBMI"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>
 <TextView
    android:id="@+id/BloodGroup"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Blood Group"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editBloodGroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>
<TextView
    android:id="@+id/DoctorNote"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Doctor Note"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editDoctorNote"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine" >

    <requestFocus />
</EditText>
<TextView
    android:id="@+id/NurseNote"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Nurse Note"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editNurseNote"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:inputType="textMultiLine" >

    <requestFocus />
</EditText>
<TextView
    android:id="@+id/Results"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Results"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editResults"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:inputType="textMultiLine" >

    <requestFocus />
</EditText>
 <TextView
    android:id="@+id/DrugPrescription"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="DrugPrescription"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editDrugPrescription"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>
<TextView
    android:id="@+id/Pathology"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Pathology"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editPathology"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <requestFocus />
</EditText>
<TextView
    android:id="@+id/Recommendation"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Recommendation"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editRecommendation"
    android:layout_width="wrap_content"
    android:layout_height="match_parent" 
    android:inputType="textMultiLine" >
    <requestFocus />
</EditText>

<Button
    android:id="@+id/ButtonAddDatabase"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Register" />

  </LinearLayout>
 </ScrollView>

这很好用。但是当我添加滚动时,它会给我一个错误(致命错误)

    03-16 00:06:18.140: E/AndroidRuntime(1215): FATAL EXCEPTION: main
    03-16 00:06:18.140: E/AndroidRuntime(1215): java.lang.RuntimeException: Unable to   start activity ComponentInfo{android.sqlite/android.sqlite.CreatePatientActivity}: java.lang.RuntimeException: Binary XML file line #3: You must supply a layout_width attribute.

1 个答案:

答案 0 :(得分:3)

您需要做的就是将LinearLayout放在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">

    <LinearLayout android:id="@+id/LinearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        ...

    </LinearLayout>
</ScrollView>

请注意,此处使用wrap_content,因为LinearLayout的内容定义了高度。