Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 加载的位图不';t按容器大小缩放_Android_Android Layout_Bitmap_Imageview_Size - Fatal编程技术网

Android 加载的位图不';t按容器大小缩放

Android 加载的位图不';t按容器大小缩放,android,android-layout,bitmap,imageview,size,Android,Android Layout,Bitmap,Imageview,Size,我有一个ListView项目,它使用一个Drawable作为默认图标,如果指定了图标,我允许覆盖。当我加载指定图标的位图并将其设置为保存默认可绘制项的ImageView时,指定图标的大小要小得多 可绘制图标和指定图标都是128px 128px,因此我“假设”它们在加载时的大小相同 这是问题的截图 以下是ListItem的XML: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" and

我有一个ListView项目,它使用一个Drawable作为默认图标,如果指定了图标,我允许覆盖。当我加载指定图标的位图并将其设置为保存默认可绘制项的ImageView时,指定图标的大小要小得多

可绘制图标和指定图标都是128px 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>

任何帮助都将不胜感激

无法看到您的屏幕截图

如果图标为128px*128px,则可以将
layout\u宽度
layout\u高度
设置为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
的含义,您可以看到。

避免包装内容。将图像大小设置为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" />

<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" />