设置可见性

时间:2016-05-10 10:54:58

标签: android android-layout android-linearlayout android-imageview

在设置可见性时管理imageview

我知道很难解决我的问题我试图解释我可以

解释

首先,我第一次有4个imageviews,只有2 imageviews对用户可见。当用户点击其中一个图库打开并用户选择图像并将我选择的图像设置为可见图像视图时,我将另一个图像视图显示在firstimageview的相同位置,并且我将此最近可见图像放在前面(使用带到前面) ..in built method)....但是当我这样做时,你会在有问题的图像链接中看到发生的事情......

注意

我在两个不同的图像中添加的图像链接有白色边框,可能是图像中没有看到的。

已添加说明

我在2个不同的linearlayout中有4个图像视图,带有parent linearlayout 但我没有用他们的知名度来管理

问题

当我设置时,Imageview设置在第一个图像视图旁边(但我必须在第一个图像上)看到问题快速完全理解

有问题的输出:

problematic output

我希望输出:

output i want

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();
  }

我在此处发布了所需的代码

0 个答案:

没有答案