본문 바로가기

안드로이드

터치 이벤트

반응형

리니어 레이아웃 안에 2개의 뷰, 1개의 스크롤뷰를 만들고, layoutheight를 0, layout_weight를 1로 하면 공간을 3분할 한다

 

 

백그라운드 색상 대충 넣음, 스크롤뷰는 흰색, 텍스트뷰의 텍스트 없앰

view와 view2의 id가 각각 view, view2인지 확인

 

 

 

MainActivity

package com.example.a11_sampleevent;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;

import static java.sql.DriverManager.println;

public class MainActivity extends AppCompatActivity {

//    https://velog.io/@hanna2100/안드로이드-터치-이벤트의-흐름

    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);

        View view = findViewById(R.id.view);

        view.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                int action = event.getAction();

                float curX = event.getX();
                float curY = event.getY();

                if (action == event.ACTION_DOWN) {
                    println("손가락 눌림 : " + curX + ", " + curY);
                } else if (action == event.ACTION_MOVE) {
                    println("손가락 움직임 : " + curX + ", " + curY);
                } else if (action == event.ACTION_UP) {
                    println("손가락 뗌 : " + curX + ", " + curY);
                }

                return true;
            }
        }); // view.setOn...

    }

    public void println(String data) {
        textView.append(data + "\n");
    }

}

 

반응형