android - 更改布局 Activity 使我的应用程序变得非常慢

标签 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>

我通过将一个 TextViewListView 放在一个 RelativeLayout 中来更改我的布局

<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 现在滚动得非常非常慢。有人可以帮我吗?谢谢。

最佳答案

在您的情况下,Textview 将显示在 Listview 之上,这可能会导致隐藏其第一个元素的一部分,我想当您向下滚动时,系统每次都需要重新生成 View ,这需要时间。没有其他合理的理由 AFAIK。

编辑: 您应该将 AlignParentTop 添加到 TextView 并将 ListView 的高度设置为 MatchParent

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

关于android - 更改布局 Activity 使我的应用程序变得非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39807587/

相关文章:

android - Android 中 CheckBox 右侧的文本

android - 评分栏未显示正确的评分。仅显示实心星

android - 如何在水平 LinearLayout 中正确对齐 TextView 和 EditText?

android - 如何在其父级的中心对齐 LinearLayout?

android - 滚动时如何将布局位置固定在顶部

android - 滚动时,ArrayAdapter 顺序中的 ListView 混淆了

android - ListView 过滤器 - 退格过滤(删除)

android - Android Studio编译时间异常

java - 如何存储值并从共享首选项中检索它们

android - 如何在android中使用 Material 设计制作多色不确定线性进度指示器?