2017-10-04 188 views
0

我在Linearlayout中使用scrollview,问题是布局正常响应,只要我开始滚动,它滞后太多。ScrollView laggs太多滚动android

<LinearLayout> 
<ScrollView> 
<Linearlayout>..sub (LinearLayout)..</LinearLayout> 
< ScrollView> 
< LinearLayout> 



<?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:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:orientation="vertical" 
    android:background="@drawable/round_edittext" 
    > 

      <ScrollView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/pddd" 
       > 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/profile_user_email_id" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:clickable="true" 
       android:textAlignment="center" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:textColor="#000" 
       android:textSize="25sp" 
       android:textStyle="bold" 

       /> 


      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Complete Your profile" 
       android:textAlignment="center" 
       android:textColor="#000" 
       android:textSize="25sp" 
       android:textStyle="bold" /> 


      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="10sp" 
       android:orientation="horizontal"> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Name :" 
        android:textColor="#000" 
        android:textSize="20sp" 
        android:textStyle="bold" /> 

       <EditText 
        android:id="@+id/profileActivity_student_id" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="10sp" 
        android:background="@drawable/round_edittext" 
        android:inputType="textCapSentences" 
        android:textColor="#000" 
        android:textSize="25sp" 
        android:textStyle="bold" 

        /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="10sp" 
       android:orientation="horizontal"> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Mobile : " 
        android:textColor="#000" 
        android:textSize="20sp" 
        android:textStyle="bold" /> 


       <EditText 
        android:id="@+id/profileActivity_student_mobile_id" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="5sp" 
        android:background="@drawable/round_edittext" 
        android:inputType="number" 
        android:maxLength="10" 
        android:textColor="#000" 
        android:textSize="25sp" 
        android:textStyle="bold" 

        /> 
      </LinearLayout> 


      <RadioButton 
       android:id="@+id/profile_faculty_radio_id" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="20sp" 
       android:layout_marginTop="20sp" 
       android:text="Faculty" 
       android:textColor="#000" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 


      <RadioButton 
       android:id="@+id/profile_parents_radio_id" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="20sp" 
       android:layout_marginTop="10sp" 
       android:text="Parents" 
       android:textColor="#000" 
       android:textSize="20sp" 
       android:textStyle="bold" 

       /> 


      <LinearLayout 
       android:id="@+id/layout_faculty_key_profile" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="10sp" 
       android:orientation="horizontal" 
       android:visibility="visible" 
       android:weightSum="6"> 

       <TextView 
        android:layout_width="0sp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:text="Key :" 
        android:textColor="#000" 
        android:textSize="20sp" 
        android:textStyle="bold" 

        /> 

       <EditText 
        android:id="@+id/pff_key" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="10sp" 
        android:layout_weight="3" 
        android:background="@drawable/round_edittext" 
        android:inputType="text|textNoSuggestions" 
        android:textColor="#000" 
        android:textSize="30sp" 
        android:textStyle="bold" /> 

       <ImageView 
        android:id="@+id/faculty_verify_bt_id" 
        android:layout_width="0sp" 
        android:layout_height="50sp" 
        android:layout_weight="1" 
        android:background="@drawable/check" 
        android:textColor="#000" 
        android:textStyle="bold" 

        /> 

       <ImageView 
        android:id="@+id/faculty_cancle_bt_id" 
        android:layout_width="0sp" 
        android:layout_height="50sp" 
        android:layout_weight="1" 
        android:background="@drawable/minus1" 
        android:textColor="#000" 
        android:textStyle="bold" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" 
       android:id="@+id/proile_activity_unique_key_linearlayout_id" 

       > 

       <TextView 
        android:layout_width="0sp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:text="Key :" 
        android:textColor="#000" 
        android:textSize="20sp" 
        android:textStyle="bold" 

        /> 

       <EditText 
        android:id="@+id/profile_activity_school_key" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="10sp" 
        android:layout_weight="3" 
        android:background="@drawable/round_edittext" 
        android:inputType="text|textNoSuggestions" 
        android:textColor="#000" 
        android:textSize="30sp" 
        android:textStyle="bold" 


        /> 

       <ImageView 
        android:id="@+id/profile_activity_school_key_verify_bt_id" 
        android:layout_width="0sp" 
        android:layout_height="50sp" 
        android:layout_weight="1" 
        android:background="@drawable/check" 
        android:textColor="#000" 
        android:textStyle="bold" 

        /> 

       <ImageView 
        android:id="@+id/profile_activity_school_key_cancle_bt_id" 
        android:layout_width="0sp" 
        android:layout_height="50sp" 
        android:layout_weight="1" 
        android:background="@drawable/minus1" 
        android:textColor="#000" 
        android:textStyle="bold" /> 

      </LinearLayout> 


      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
        android:layout_marginTop="20sp" 
        android:orientation="horizontal" 

       > 


       <Spinner 
        android:id="@+id/activityprofile_spinner_id" 
        android:layout_width="200sp" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="50sp" 
        > 
       </Spinner> 


      </LinearLayout> 


      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

       <Button 
        android:id="@+id/profile_saveinfo_id" 
        android:layout_width="100sp" 
        android:layout_height="50sp" 
        android:layout_gravity="center_horizontal" 
        android:background="@drawable/save2" /> 

       <Button 
        android:id="@+id/profile_nagivate_id" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal" 
        android:text="Navigate" /> 
      </LinearLayout> 

     </LinearLayout> 
    </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

我已经用了我的LinearLayout这个代码,当我触摸单选按钮或EditText上还是我下滚,它开始落后了很多。我不能理解这个问题,我使用的图像是小于100kb的小尺寸

+0

什么驻留在布局中?你正在显示图像吗? Post full xml –

+0

你有没有添加任何听众这些布局?像onTouchListener一样? –

+0

这是我使用的完整代码。 –

回答

0

我编辑了你的代码,并拿出了大约4 LinearLayout这是不必要的。请测试它的性能。如果它仍然很慢,请尝试使用 s代替部分剩余的垂直LinearLayout s,如@IshitaShinha建议的那样。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/round_edittext" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/pddd" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/profile_user_email_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:clickable="true" 
      android:textAlignment="center" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColor="#000" 
      android:textSize="25sp" 
      android:textStyle="bold" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Complete Your profile" 
      android:textAlignment="center" 
      android:textColor="#000" 
      android:textSize="25sp" 
      android:textStyle="bold" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10sp" 
      android:orientation="horizontal"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Name :" 
       android:textColor="#000" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 

      <EditText 
       android:id="@+id/profileActivity_student_id" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10sp" 
       android:background="@drawable/round_edittext" 
       android:inputType="textCapSentences" 
       android:textColor="#000" 
       android:textSize="25sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10sp" 
      android:orientation="horizontal"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Mobile : " 
       android:textColor="#000" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 


      <EditText 
       android:id="@+id/profileActivity_student_mobile_id" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5sp" 
       android:background="@drawable/round_edittext" 
       android:inputType="number" 
       android:maxLength="10" 
       android:textColor="#000" 
       android:textSize="25sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <RadioButton 
      android:id="@+id/profile_faculty_radio_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="20sp" 
      android:layout_marginTop="20sp" 
      android:text="Faculty" 
      android:textColor="#000" 
      android:textSize="20sp" 
      android:textStyle="bold" /> 

     <RadioButton 
      android:id="@+id/profile_parents_radio_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="20sp" 
      android:layout_marginTop="10sp" 
      android:text="Parents" 
      android:textColor="#000" 
      android:textSize="20sp" 
      android:textStyle="bold" /> 


     <LinearLayout 
      android:id="@+id/layout_faculty_key_profile" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10sp" 
      android:orientation="horizontal" 
      android:visibility="visible" 
      android:weightSum="6"> 

      <TextView 
       android:layout_width="0sp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Key :" 
       android:textColor="#000" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 

      <EditText 
       android:id="@+id/pff_key" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10sp" 
       android:layout_weight="3" 
       android:background="@drawable/round_edittext" 
       android:inputType="text|textNoSuggestions" 
       android:textColor="#000" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

      <ImageView 
       android:id="@+id/faculty_verify_bt_id" 
       android:layout_width="0sp" 
       android:layout_height="50sp" 
       android:layout_weight="1" 
       android:background="@drawable/check" 
       android:textColor="#000" 
       android:textStyle="bold" /> 

      <ImageView 
       android:id="@+id/faculty_cancle_bt_id" 
       android:layout_width="0sp" 
       android:layout_height="50sp" 
       android:layout_weight="1" 
       android:background="@drawable/minus1" 
       android:textColor="#000" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <LinearLayout 
      android:id="@+id/proile_activity_unique_key_linearlayout_id" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <TextView 
       android:layout_width="0sp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="Key :" 
       android:textColor="#000" 
       android:textSize="20sp" 
       android:textStyle="bold" /> 

      <EditText 
       android:id="@+id/profile_activity_school_key" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10sp" 
       android:layout_weight="3" 
       android:background="@drawable/round_edittext" 
       android:inputType="text|textNoSuggestions" 
       android:textColor="#000" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

      <ImageView 
       android:id="@+id/profile_activity_school_key_verify_bt_id" 
       android:layout_width="0sp" 
       android:layout_height="50sp" 
       android:layout_weight="1" 
       android:background="@drawable/check" 
       android:textColor="#000" 
       android:textStyle="bold" /> 

      <ImageView 
       android:id="@+id/profile_activity_school_key_cancle_bt_id" 
       android:layout_width="0sp" 
       android:layout_height="50sp" 
       android:layout_weight="1" 
       android:background="@drawable/minus1" 
       android:textColor="#000" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <Spinner 
      android:id="@+id/activityprofile_spinner_id" 
      android:layout_width="200sp" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="50sp" 
      android:layout_marginTop="20sp" /> 

     <Button 
      android:id="@+id/profile_saveinfo_id" 
      android:layout_width="100sp" 
      android:layout_height="50sp" 
      android:layout_gravity="center_horizontal" 
      android:background="@drawable/save2" /> 

     <Button 
      android:id="@+id/profile_nagivate_id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:text="Navigate" /> 
    </LinearLayout> 
</ScrollView> 
+0

非常感谢先生,但它没有奏效。 –

+0

你能更具体吗? – kalabalik