Android ListView中的图像不遵循给定的宽度,并且在不同的行中具有不同的宽度
我创建了一个自定义列表视图,其中一行包含imageview和textview。 有些图像与其他图像不一致,看起来很糟糕。下面是它的屏幕截图。 注意音乐和相册中的图标是如何占用额外空间的 该行的xml如下所示Android ListView中的图像不遵循给定的宽度,并且在不同的行中具有不同的宽度,android,android-layout,Android,Android Layout,我创建了一个自定义列表视图,其中一行包含imageview和textview。 有些图像与其他图像不一致,看起来很糟糕。下面是它的屏幕截图。 注意音乐和相册中的图标是如何占用额外空间的 该行的xml如下所示 <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:app = "http://schemas.android.com/apk/res-auto"
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "#F7BA70"
android:orientation = "horizontal">
<ImageView
android:id = "@+id/categoryListRowImage"
android:layout_width = "30dp"
android:layout_height = "50dp"
android:layout_gravity = "center_vertical"
android:layout_weight = "0.32"
android:adjustViewBounds = "true"
android:contentDescription = "Image Description"
android:scaleType = "fitXY"
android:src = "@drawable/music" />
<TextView
android:id = "@+id/categoryListRowId"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:visibility = "gone" />
<TextView
android:id = "@+id/categoryListRowText"
android:layout_width = "wrap_content"
android:layout_height = "50dp"
android:layout_gravity = "center_vertical"
android:layout_weight = "3"
android:gravity = "center_vertical"
android:paddingEnd = "20dp"
android:paddingLeft = "20dp"
android:paddingRight = "20dp"
android:paddingStart = "20dp"
android:textColor = "#FFF"
android:textSize = "24sp" />
<ImageView
android:layout_width = "20dp"
android:layout_height = "20dp"
android:layout_gravity = "center_vertical"
android:layout_marginRight = "20dp"
android:scaleType = "fitXY"
android:src = "@drawable/white_arrow" />
</LinearLayout>
我对所有图像使用了相同的图标
同一个listview如何在图像中为我提供不同的宽度?为什么给imageview权重为0.32,给textview权重为3。从ImageView中删除权重,并为textView指定权重1,这将解决您的问题。如果指定权重,则应指定宽度0dp 在您的情况下,从图像中移除权重。
在文本视图中,将重量设为1,宽度设为0dp谢谢。但我能知道为什么会这样吗。权重不会影响列表中的所有项目,而不仅仅是单个项目吗?因为您已经为ImageView和TextView赋予了权重,并且您的TextView是包装内容,所以根据textsize,宽度会受到影响。正如@sumit在其回答中指出的,权重是问题的根源。谢谢你告诉我重量和宽度的冲突。