scrollview在android中太慢了

时间:2013-03-11 09:30:15

标签: android scrollview android-linearlayout slidingdrawer

我在TextViews中显示6 LinearLayout。我为所有这些LinearLayout保留了ScrollView

My Code is as follows...
<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:background="@drawable/mobilepage"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="160dp"
            android:layout_height="30dp"
            android:src="@drawable/logo" />

    </LinearLayout>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

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

            <FrameLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="10dp" >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center_horizontal"
                    android:orientation="vertical" >

                    <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center_horizontal"
                        android:orientation="horizontal" >

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingTop="5dp"
                            android:text="SIGN IN"
                            android:textColor="@color/white"
                            android:textSize="18dp"
                            android:typeface="sans" />

                    </LinearLayout>

                    <EditText
                        android:id="@+id/etUsername"
                        android:layout_width="230dp"
                        android:layout_height="40dp"
                        android:layout_marginTop="8dp"
                        android:background="@drawable/edittext_bg_siginusername"
                        android:hint="Email or username"
                        android:textSize="14dp"
                        android:typeface="sans" />

                    <EditText
                        android:id="@+id/etPassword"
                        android:layout_width="230dp"
                        android:layout_height="40dp"
                        android:background="@drawable/edittext_bg_signinpassword"
                        android:hint="Password"
                        android:password="true"
                        android:textSize="14dp"
                        android:typeface="sans" />

                    <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center_horizontal" >

                        <CheckBox
                            android:id="@+id/cbUserpass"
                            android:layout_width="122dp"
                            android:layout_height="wrap_content"
                            android:layout_marginRight="100dp"
                            android:paddingTop="3dp"
                            android:text="Remember me"
                            android:textColor="@color/white"
                            android:textSize="10dp"
                            android:textStyle="bold" />

                    </LinearLayout>

                    <Button
                        android:id="@+id/bSignin"
                        android:layout_width="186dp"
                        android:layout_height="38dp"
                        android:layout_gravity="center"
                        android:background="@drawable/signinbutton"
                        android:paddingBottom="6dp"
                        android:text="SIGN IN"
                        android:textColor="@color/white"
                        android:textSize="14dp"
                        android:typeface="sans" />

                    <Button
                        android:id="@+id/bSigninFacebook"
                        android:layout_width="186dp"
                        android:layout_height="38dp"
                        android:layout_gravity="center"
                        android:layout_marginTop="20dp"
                        android:background="@drawable/signinbutton"
                        android:paddingBottom="6dp"
                        android:text="Login via Facebook"
                        android:textColor="@color/white"
                        android:textSize="14dp"
                        android:typeface="sans" />

                </LinearLayout>

                <SlidingDrawer
                    android:id="@+id/SlidingDrawer"
                    android:layout_width="fill_parent"
                    android:layout_height="300dp"
                    android:content="@+id/contentLayout"
                    android:handle="@+id/slideButton"
                    android:orientation="horizontal" >

                    <Button
                        android:id="@+id/slideButton"
                        android:layout_width="34dp"
                        android:layout_height="65dp"
                        android:background="@drawable/slidedrawer" >
                    </Button>

                    <LinearLayout
                        android:id="@+id/contentLayout"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_horizontal"
                        android:gravity="center_horizontal" >

                        <ScrollView
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent">

                            <LinearLayout
                                android:layout_width="fill_parent"
                                android:layout_height="fill_parent"
                                android:background="@drawable/royalblue_transparent"
                                android:gravity="center"
                                android:orientation="vertical" >
        .............6 textViews                
                            </LinearLayout>
                        </ScrollView>
                    </LinearLayout>
                </SlidingDrawer>
            </FrameLayout>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

当我将LinearLayout id(contentlayout)作为内容添加到slidedrawer时,ScrollView非常慢。当我为ScrollView保留相同的ID时,它无效。

请帮助我正常制作滚动视图。我搜索过这类问题,但我没有得到任何有用的答案。提前谢谢。

2 个答案:

答案 0 :(得分:1)

避免在LinearLayout中使用LinearLayout。对自己最多2个linearLayout级别(线性内部是线性的)进行自我调整。需要多次迭代才能在屏幕上显示最终布局。它会在一定程度上改善您的表现。

答案 1 :(得分:0)

就我而言,我的图像几乎有2000x2000像素,并且我将尺寸调整为50x50。

删除布局中的imageview标签会返回正常响应。

因此,提示是,尝试将图像尺寸缩小为像素少的一个,然后放入正确的可绘制文件夹中。

看看:Different resolution support android