在设置可见性时管理imageview
我知道很难解决我的问题我试图解释我可以
解释
首先,我第一次有4个imageviews
,只有2 imageviews
对用户可见。当用户点击其中一个图库打开并用户选择图像并将我选择的图像设置为可见图像视图时,我将另一个图像视图显示在firstimageview的相同位置,并且我将此最近可见图像放在前面(使用带到前面) ..in built method)....但是当我这样做时,你会在有问题的图像链接中看到发生的事情......
注意
我在两个不同的图像中添加的图像链接有白色边框,可能是图像中没有看到的。
已添加说明
我在2个不同的linearlayout中有4个图像视图,带有parent linearlayout 但我没有用他们的知名度来管理
问题
当我设置时,Imageview设置在第一个图像视图旁边(但我必须在第一个图像上)看到问题快速完全理解
有问题的输出:
我希望输出:
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:background="@color/back"
android:orientation="horizontal"
android:padding="0dp"
android:visibility="visible"
android:weightSum="2">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<ImageView
android:id="@+id/frame2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="5dp"
android:scaleType="fitXY"
android:src="@drawable/rect_2"
android:visibility="visible" />
<ImageView
android:id="@+id/frame2_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:adjustViewBounds="true"
android:padding="5dp"
android:scaleType="fitXY"
android:src="@drawable/rect_2"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1">
<ImageView
android:id="@+id/frame3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="@drawable/rect_2"
android:visibility="visible" />
<ImageView
android:id="@+id/frame3_1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="@drawable/rect_2"
android:visibility="gone" />
</LinearLayout>
<!-- <ImageView
android:id="@+id/frame2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="@drawable/rect_2"
android:visibility="visible" />
<ImageView
android:id="@+id/frame2_1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="@drawable/rect_2"
android:visibility="gone" />
<ImageView
android:id="@+id/frame3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="@drawable/rect_2" />
<ImageView
android:id="@+id/frame3_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="matrix"
android:src="@drawable/frame_sq"
android:visibility="gone" />-->
</LinearLayout>
</RelativeLayout>
java文件
if (requestCode == frm1 && data != null) {
Uri selectedImageUri = data.getData();
String[] projection = {MediaStore.MediaColumns.DATA};
Cursor cursor = managedQuery(selectedImageUri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
cursor.moveToFirst();
String selectedImagePath = cursor.getString(column_index);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(selectedImagePath, options);
final int REQUIRED_SIZE = 200;
int scale = 1;
while (options.outWidth / scale / 2 >= REQUIRED_SIZE && options.outHeight / scale / 2 >= REQUIRED_SIZE)
scale *= 2;
options.inSampleSize = scale;
options.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeFile(selectedImagePath, options);
frame2.setImageBitmap(bitmap);
Bitmap b2 = BitmapFactory.decodeResource(getResources(), R.drawable.rect_2);
frame2_1.setVisibility(View.VISIBLE);
frame2_1.setImageBitmap(b2);
frame2_1.bringToFront();
frame2.setScaleType(ImageView.ScaleType.MATRIX);
frame2_1.setScaleType(ImageView.ScaleType.FIT_XY);
frame2.setOnTouchListener(new Touch());
dialog.dismiss();
}
我在此处发布了所需的代码