我是一名Android初学者,我正在构建一个SoundBoard应用程序以获得有趣的ScrollView
和很多( 44 for now )ImageButton
并排2列。
这是它的样子:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="1dp"
android:orientation="horizontal"
android:weightSum="1">
<ImageButton
android:id="@+id/myImageButton1"
android:tag="myTag1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="1dp"
android:layout_weight=".5"
android:adjustViewBounds="true"
android:background="@null"
android:clickable="true"
android:foreground="?attr/selectableItemBackgroundBorderless"
android:onClick="onSoundButtonClick"
android:scaleType="fitXY"
android:src="@drawable/myImage1" />
<ImageButton
android:id="@+id/myImageButton2"
android:tag="myTag2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".5"
android:adjustViewBounds="true"
android:background="@null"
android:clickable="true"
android:foreground="?attr/selectableItemBackgroundBorderless"
android:onClick="onSoundButtonClick"
android:scaleType="fitXY"
android:src="@drawable/myImage2" />
</LinearLayout>
// More LinearLayout below for ImageButton side by side
</LinearLayout>
当快速向下滚动时,我遇到了滞后。我尝试用RecyclerView
构建应用程序,但它没有解决问题(我可能误用了它)。
每个.jpg的重量在20Ko到30Ko之间,44个图像的总重量为1.24Mo。
你对如何解决这个问题有任何线索吗?
谢谢!
答案 0 :(得分:0)
问题可能不在您的布局中。它适用于您的适配器。您有一些good practices to apply by google,另外您可以对您的资源应用延迟加载,您可以在this topic中找到。
这可以帮助您解决问题。