-1

I have 5 custome ImageViews,I want to make a collage app demo,So for that i want to bring front particular imageView to front when its tapped,I have tried bringtoFront method for that but its not working,So can anybuddy Please help me to solve this issue,My xml and java code is as below

xml

 <RelativeLayout
        android:id="@+id/rl_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/tv_hdr" >

        <ImageView
            android:id="@+id/collageBgView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="#191919" />

        <PhotoLib.CollageView
            android:id="@+id/collageView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:scaleType="fitXY" />

        <PhotoLib.CollageView
            android:id="@+id/collageView2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:scaleType="fitXY" />

        <PhotoLib.CollageView
            android:id="@+id/collageView3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:scaleType="fitXY" />

        <PhotoLib.CollageView
            android:id="@+id/collageView4"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:scaleType="fitXY" />

        <PhotoLib.CollageView
            android:id="@+id/collageView5"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:scaleType="fitXY" />

        <PhotoLib.CollageView
            android:id="@+id/collageView6"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:scaleType="fitXY" />

        <PhotoLib.CollageView
            android:id="@+id/collageView7"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:scaleType="fitXY" />
    </RelativeLayout>

java

RelativeLayout rl_main;
cl1 = (CollageView) findViewById(R.id.collageView1);
cl2 = (CollageView) findViewById(R.id.collageView2);
cl3 = (CollageView) findViewById(R.id.collageView3);
cl4 = (CollageView) findViewById(R.id.collageView4);
collageBgView = (ImageView) findViewById(R.id.collageBgView);
rl_main = (RelativeLayout) findViewById(R.id.rl_main);

findViewById(R.id.collageView1).setOnClickListener(
        new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                cl1.bringToFront();
                cl2.invalidate();
                cl3.invalidate();
                cl4.invalidate();
                rl_main.invalidate();

            }
        });
findViewById(R.id.collageView2).setOnClickListener(
        new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                cl2.bringToFront();
                cl1.invalidate();
                cl3.invalidate();
                cl4.invalidate();
                rl_main.invalidate();

            }
        });
findViewById(R.id.collageView3).setOnClickListener(
        new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                cl3.bringToFront();
                cl2.invalidate();
                cl1.invalidate();
                cl4.invalidate();
                rl_main.invalidate();

            }
        });
findViewById(R.id.collageView4).setOnClickListener(
        new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                cl4.bringToFront();
                cl2.invalidate();
                cl3.invalidate();
                cl1.invalidate();
                rl_main.invalidate();

            }
        });

cl1.setOnLongClickListener(new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        // TODO Auto-generated method stub
        cl1.bringToFront();
        cl2.invalidate();
        cl3.invalidate();
        cl4.invalidate();
        rl_main.invalidate();
        return false;
    }
});
cl2.setOnLongClickListener(new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        // TODO Auto-generated method stub
        cl2.bringToFront();
        cl1.invalidate();
        cl3.invalidate();
        cl4.invalidate();
        rl_main.invalidate();
        return false;
    }
});
cl3.setOnLongClickListener(new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        // TODO Auto-generated method stub
        cl3.bringToFront();
        cl2.invalidate();
        cl1.invalidate();
        cl4.invalidate();
        rl_main.invalidate();
        return false;
    }
});
cl4.setOnLongClickListener(new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        // TODO Auto-generated method stub
        cl4.bringToFront();
        cl2.invalidate();
        cl3.invalidate();
        cl1.invalidate();
        rl_main.invalidate();
        return false;
    }
});
beresfordt
  • 5,088
  • 10
  • 35
  • 43
user3819148
  • 85
  • 1
  • 12

2 Answers2

0

i think you can use:

@Override
                public void onClick(View v) {

                    cl1.setVisibility(View.VISIBLE);
                    cl2.setVisibility(View.GONE);
                    cl3.setVisibility(View.GONE);
                    cl4.setVisibility(View.GONE);
                    rl_main.setVisibility(View.GONE);

                }
            });

you are using relativelayout so just hiding should work for you if your ImageView are not to big. Be careful when using to many imagens could give you memory problems

Rúben
  • 122
  • 2
  • 8
0

Just use only yourView.bringToFront() method for the view you want bring front in relative layout.

Prashant Patel
  • 1,087
  • 11
  • 18