更改布局活动使我的应用程序非常慢

时间:2016-10-01 14:08:25

标签: android android-layout listview

我在android方面经验不足。在我的LayoutActivity中,我有一个LinearLayout,其垂直方向包括两个TextViewListView,如下所示:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.9"
    android:orientation="vertical">
    <TextView
        android:id="@+id/not_connected_text"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="#01132e"
        android:gravity="center_horizontal|center_vertical"
        android:textStyle="bold"
        android:text="Not Connected.."
        android:textColor="#ffffff"/>
    <TextView
        android:id="@+id/global_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:padding="3dp"
        android:gravity="center"
        android:background="@drawable/rounded_info_accent"
        android:textSize="15sp"
        android:textColor="#FF000000"
        android:text="Today"/>
    <ListView
        android:layout_marginRight="5dp"
        android:layout_marginLeft="5dp"
        android:cacheColorHint="#00000000"
        android:listSelector="#00000000"
        android:divider="#00000000"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/ChatlistView"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true" />
</LinearLayout>

我通过在TextView

中放置一个ListViewRelativeLayout来更改布局
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.9"
    android:orientation="vertical">
    <TextView
        android:id="@+id/not_connected_text"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="#01132e"
        android:gravity="center_horizontal|center_vertical"
        android:textStyle="bold"
        android:text="Not Connected.."
        android:textColor="#ffffff"/>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
            android:id="@+id/global_date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:padding="3dp"
            android:gravity="center"
            android:background="@drawable/rounded_info_accent"
            android:textSize="15sp"
            android:textColor="#FF000000"
            android:text="Today" />
        <ListView
            android:layout_marginRight="5dp"
            android:layout_marginLeft="5dp"
            android:cacheColorHint="#00000000"
            android:listSelector="#00000000"
            android:divider="#00000000"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/ChatlistView"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentBottom="true" />
    </RelativeLayout>
</LinearLayout>

在此修改之后,ListView现在滚动非常慢。请问有人可以帮我吗?感谢。

1 个答案:

答案 0 :(得分:1)

在你的情况下,Textview将通过Listview呈现,可能导致隐藏其第一个元素的一部分,我想当你向下滚动时,系统需要每次重新生成视图,这需要花费时间。没有其他合理的理由AFAIK。

编辑: 您应该将apply plugin: 'cpp' model { components { main(NativeExecutableSpec) { sources { cpp { source { srcDir "src" } } } } } binaries { all { if (toolChain in VisualCpp) { cppCompiler.args "-IC:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt" linker.args "/LIBPATH:C:\\Program Files (x86)\\Windows Kits\\10\\Lib\\10.0.10240.0\\ucrt\\x86" } } } } 添加到TextView,并将AlignParentTop的高度设置为ListView

此外,如果您希望TextView位于ListView的顶部,请在XML中交换它们的定义。