我有一个ListView项目,它使用Drawable作为默认图标,如果指定了图标,则允许覆盖。当我为指定的图标加载Bitmap并将其设置为包含默认Drawable项的ImageView时,指定图标的大小要小得多。
Drawable和指定的Icon都是128px x 128px所以我“假设”它们在加载时都是相同的大小。
这是问题的截图。
这是ListItem的XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="6dip" >
<ImageView
android:id="@+id/events1_lv1_listitem_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="6dip"
android:contentDescription="@string/content_description_default_text"
android:src="@drawable/calendar" />
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/events1_lv1_listitem_headline"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/content_description_default_text"
android:gravity="center_vertical"
android:textSize="16sp" />
<TextView
android:id="@+id/events1_lv1_listitem_summary"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:contentDescription="@string/content_description_default_text"
android:ellipsize="marquee"
android:singleLine="true"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
以下是我将位图加载到列表项图标中的代码段:
File headerImageFile = new File(src);
Bitmap image = BitmapFactory.decodeStream(new FileInputStream(headerImageFile));
events1_lv1_listitem_icon.setImageBitmap(image);
非常感谢任何帮助!
答案 0 :(得分:1)
避免使用wrap_content。将图像大小设置为dp,并将scaleType设置为“fitXY”。
以下内容适用于你*
<ImageView
android:id="@+id/events1_lv1_listitem_icon"
android:layout_width="128dp"
android:layout_height="128dp"
android:scaleType="fitXY"
android:layout_marginRight="6dp"
android:contentDescription="@string/content_description_default_text"
android:src="@drawable/calendar" />
答案 1 :(得分:0)
无法看到你的屏幕截图。
如果您的图标为128px * 128px,则可以将layout_width
和layout_height
设置为128px,然后将scaleType
设置为fitXY
或centerCrop
。像这样:
<ImageView
android:id="@+id/events1_lv1_listitem_icon"
android:layout_width="128px"
android:layout_height="128px"
android:scaleType="fitXY"
android:layout_marginRight="6dip"
android:contentDescription="@string/content_description_default_text"
android:src="@drawable/calendar" />
关于scaleType
的含义,您可以看到this link。