0

我创建了应用程序以在轮播视图中显示图像。我将图像加载到另一个 xml 布局文件中的 imageview 中,并将它们设置在轮播视图中,包含在主 xml 布局文件中。

在这里我如何将图像加载到图像视图中

public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.showsmain, null);
        ImageView image=(ImageView)vi.findViewById(R.id.imageView1);
        //LinearLayout rlayout=(LinearLayout)vi.findViewById(R.id.layout);
       image.setImageResource(R.drawable.black);
        orgWidth = image.getDrawable().getIntrinsicWidth();
        orgHeight = image.getDrawable().getIntrinsicHeight();
        imageLoader.DisplayImage(data[position], image);
        imageLoader.getDimension(widthScreen, heightScreen);

        LinearLayout lhome=(LinearLayout)((Activity) activity).findViewById(R.id.layouthome);
//        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
//              widthScreen,heightScreen/3);
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                    widthScreen,heightScreen/3);
        params.width=orgWidth;
            image.setLayoutParams(params);
            image.setScaleType(ImageView.ScaleType.FIT_XY);

        return vi;
    }

orgWidth 是 imageview 的宽度。widthscreen 是运行应用程序的屏幕宽度。下面你可以看到图像是如何在轮播视图中加载的。

![在此处输入图像描述][1]

在这里你看到图像是裁剪的。我想加载没有裁剪的图像....

我尝试在三天内通过stackoverflow中的三个问题来处理这个问题。如果有人能知道答案.....帮帮我

在这里,我还提供了我的轮播布局 xml 文件....

<com.touchmenotapps.carousel.simple.HorizontalCarouselLayout
        android:id="@+id/carousel_layout_event"
        android:layout_width="600dp"
        android:layout_height="500dp"
        android:layout_above="@+id/relativeLayout1"
        android:layout_alignTop="@+id/carousel_layout" >
    </com.touchmenotapps.carousel.simple.HorizontalCarouselLayout>
4

1 回答 1

3

制作 ImageView 后,调用以下代码:

image.setScaleType(ScaleType.CENTER_INSIDE);

然后,您的图像将缩放以适应保持纵横比的视图边界,而不是裁剪。

于 2013-07-23T12:17:55.123 回答