我创建了应用程序以在轮播视图中显示图像。我将图像加载到另一个xml布局文件&中的imageview中。将它们设置在carousel视图中,包含在主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是运行app的屏幕宽度。在下面你可以看到如何在轮播视图中加载图像。
![在此处输入图片说明] [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>
答案 0 :(得分:2)
制作ImageView后,请将其命名为:
image.setScaleType(ScaleType.CENTER_INSIDE);
然后,您的图像将缩放以适应具有保持纵横比的视图边界,而不是裁剪。