Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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图像的简单列表(如gallery)_Android - Fatal编程技术网

Android图像的简单列表(如gallery)

Android图像的简单列表(如gallery),android,Android,我需要用图像制作ListView;图像存储在SD卡上,我需要使用URI加载它。这对我来说不是问题。但存在以下问题:我在drawable中添加了10个图像,并为ListView制作了简单的适配器: private class PointImagesAdapter extends ArrayAdapter<Integer> { private static final int LAYOUT_ID=R.layout.adapter_point_images; pri

我需要用图像制作ListView;图像存储在SD卡上,我需要使用URI加载它。这对我来说不是问题。但存在以下问题:我在drawable中添加了10个图像,并为ListView制作了简单的适配器:

private class PointImagesAdapter extends ArrayAdapter<Integer> {
    private static final int LAYOUT_ID=R.layout.adapter_point_images;    
    private Integer[] ii;
    private LayoutInflater inflater;
    private List<ImageInfo> images;

    public PointImagesAdapter(Integer[] ii) {
        super(MainActivity.this, LAYOUT_ID, ii);
        this.ii=ii;
        inflater=LayoutInflater.from(MainActivity.this);
    }

    @Override
    public View getView(int position, View view, ViewGroup group) {
        if (view==null) {
            view=inflater.inflate(LAYOUT_ID, null);
        }
        ImageView i=(ImageView)view.findViewById(R.id.adapterPointImagesItem);
        i.setImageResource(ii[position]);
        return view;
    }
}
私有类PointImagesAdapter扩展了ArrayAdapter{
私有静态最终整数布局\u ID=R.LAYOUT.adapter\u point\u图像;
私有整数[]ii;
私人充气机;
私有列表图像;
公共点ImagesAdapter(整数[]ii){
超级(主要活动,本,布局图,ii);
这.ii=ii;
充气器=从(MainActivity.this)开始的充气器;
}
@凌驾
公共视图getView(内部位置、视图视图、视图组){
如果(视图==null){
视图=充气机。充气(布局标识,空);
}
ImageView i=(ImageView)view.findViewById(R.id.adapterPointImagesItem);
i、 setImageResource(二[职位]);
返回视图;
}
}
它可以工作,但所有图像都有一个大的分辨率(2048x1536),并且ListView的滚动速度非常慢:

<ListView
    android:id="@+id/dialogViewImagesList"
    android:layout_width="100dip"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent"
    android:cacheColorHint="@android:color/transparent"
    android:fastScrollEnabled="true"
    android:persistentDrawingCache="scrolling"
    android:scrollingCache="false" >
</ListView>


我认为这个问题是个大问题。我怎样才能修好它?谢谢

1st:您可以以位图的形式提取图像。 第二:将位图转换为缩小尺寸的缩放位图

   Bitpmap bm = BitmapFactory.decode ("image file path");
   bm.setDensity(integer);
   Bitmap bm1 = Bitmap.createScaledBitmap (bm, width, height, false);
   ImageView i=(ImageView)view.findViewById(R.id.adapterPointImagesItem);
   i.setImageBitmap(bm1);
这将在运行时从内部减小要在listView中显示的图像的大小

。检查主题“在内存中加载缩小的版本”