Android 如何以透视比显示图像?
在我的应用程序中,我希望像gallery一样以放大比例显示图像。在我的应用程序中,我必须在图像上显示标记图像。因为标记图像具有拖动功能。因此,下面是用于该操作的xmlAndroid 如何以透视比显示图像?,android,image,imageview,android-relativelayout,Android,Image,Imageview,Android Relativelayout,在我的应用程序中,我希望像gallery一样以放大比例显示图像。在我的应用程序中,我必须在图像上显示标记图像。因为标记图像具有拖动功能。因此,下面是用于该操作的xml <RelativeLayout android:background="#000000" android:layout_above="@+id/buttonlayout" android:id="@+id/imagelayout" android:layout_width="fil
<RelativeLayout
android:background="#000000"
android:layout_above="@+id/buttonlayout"
android:id="@+id/imagelayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_centerInParent="true"
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</RelativeLayout>
</RelativeLayout>
在这段代码中,relImage是相对布局的参考,imgMarker是图像视图的参考。画廊图像被设置为相对布局。我的设备分辨率是480 x 800,图像分辨率是1920 x 1080。这就是我得到的输出
画廊图像视图就像下面的屏幕截图
但是我的要求就像画廊的图片一样,我想用透视比来显示图片。所以请建议我怎么做。先谢谢大家 您可以使用FrameLayout将图像视图放在此处,并将标记图像视图放在此处,如是否有任何原因不使用
图像视图
?背景不用于显示图像。imgMarker.setScaleType(ImageView.ScaleType.FitXY);在该图像中,我需要另一个标记图像,以便我采用相对布局,并以编程方式将标记图像添加到该布局中。查看红色标记image.img.setScaleType(ImageView.ScaleType.FitCenter);或者为布局的宽度和高度指定一些大小。如果我将相对布局更改为图像视图,则可以使用框架布局轻松完成此操作。我能问你为什么要使用相对布局吗?
try {
// bmGallayImage = decodeFile(selectedImagePath);
bmGallayImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImageUri);
bmRotated = InventorySubmitImagesActivity.rotateBitmap(bmGallayImage, orientation);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(bmRotated!=null){
Drawable dr = new BitmapDrawable(bmRotated);
old_width=bmRotated.getWidth();
old_height=bmRotated.getHeight();
Log.e("gal bitmap height and width",""+old_height+" "+old_width);
relImage.getLayoutParams().height = old_height;
relImage.getLayoutParams().width = old_width;
relImage.setBackgroundDrawable(dr);
}
relImage.removeAllViews();
imgMarker = new ImageView(this);
final RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);
layoutParams.leftMargin = 0;
layoutParams.topMargin = 0;
relImage.addView(imgMarker, layoutParams);
imgMarker.setScaleType(ImageView.ScaleType.MATRIX);
bmdragImage=BitmapFactory.decodeResource(getResources(), R.drawable.image_marker);
imgMarker.setImageBitmap(bmdragImage);