sr_ farzad
sr_ farzad

Reputation: 45

How to increase layout via touching up and down

In my project we have 2 Linearlayout inside layout file, we want increase/decrease height via touch up and down

enter image description here

Inside a layout I have a horizontal view for changing height of layout. This view is the second layout

Upvotes: 0

Views: 145

Answers (2)

sr_ farzad
sr_ farzad

Reputation: 45

I could resolve the problem.complete code is :

public class MultiTouchListener implements View.OnTouchListener {


    private float mPrevX;
    private float mPrevY;

    public QuranActivity mainActivity;
    public MultiTouchListener(QuranActivity mainActivity1) {
        mainActivity = mainActivity1;
    }

    @Override
    public boolean onTouch(View view, MotionEvent event) {
        float currX,currY;
        int action = event.getAction();
        switch (action ) {
            case MotionEvent.ACTION_DOWN: {

                mPrevX = event.getX();
                mPrevY = event.getY();
                break;
            }

            case MotionEvent.ACTION_MOVE:
            {

                int w = mainActivity.getWindowManager().getDefaultDisplay().getWidth() - 100;
                int h = mainActivity.getWindowManager().getDefaultDisplay().getHeight() - 100;



                currX = event.getRawX();
                currY = event.getRawY();


               ViewGroup.MarginLayoutParams marginParams = new ViewGroup.MarginLayoutParams(view.getLayoutParams());


                //marginParams.topMargin = (int)(currY - mPrevY);


            /*    if(currX>w){
                    marginParams.leftMargin = (int)(currX - mPrevX)-100;
                }
                else {
                    marginParams.leftMargin = (int)(currX - mPrevX);
                }


                if(currY>h){
                    marginParams.rightMargin = (int)(currY - mPrevY)-100;
                }
                else {
                    marginParams.rightMargin = (int)(currY - mPrevY);
                }
*/




                marginParams.setMargins(0, (int)(currY - mPrevY),0, 0);
                RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
                view.setLayoutParams(layoutParams);

                Log.e("onTouch X",currX - mPrevX+"  " + "" );
                Log.e("onTouch Y",currY - mPrevY+"  " + "" );



                break;
            }



            case MotionEvent.ACTION_CANCEL:
                break;

            case MotionEvent.ACTION_UP:

                break;
        }

        return true;
    }
}

Upvotes: 0

Akshay Tilekar
Akshay Tilekar

Reputation: 2010

  1. First Detect amount of area scrolled by view using Android listView find the amount of pixels scrolled
  2. Then set this scrolled height dynamically to the view Android set height and width of Custom view programmatically

Upvotes: 1

Related Questions