zoukankan      html  css  js  c++  java
  • 一手遮天 Android

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

    一手遮天 Android - 输入: Touch 基础(触摸位置,事件冒泡)

    示例如下:

    /input/TouchDemo2.java

    /**
     * Touch 基础
     *
     * setOnTouchListener() - 触摸事件
     *     MotionEvent 的 getX() - 触摸点相对于监听控件自身的 x 位置
     *     MotionEvent 的 getY() -  触摸点相对于监听控件自身的 y 位置
     *     MotionEvent 的 getRawX() - 触摸点相对于整个屏幕的 x 位置
     *     MotionEvent 的 getRawY() - 触摸点相对于整个屏幕的 y 位置
     *     返回 true 代表事件不冒泡
     *     返回 false 代表事件冒泡(如果在 MotionEvent.ACTION_DOWN 中返回 false,则之后不会收到 MotionEvent.ACTION_MOVE 和 MotionEvent.ACTION_UP)
     *
     *
     * 本例演示
     * 1、如何在 setOnTouchListener() 中获取触摸点的位置信息
     * 2、事件冒泡
     */
    
    
    package com.webabcd.androiddemo.input;
    
    import android.annotation.SuppressLint;
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.FrameLayout;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import com.webabcd.androiddemo.R;
    
    public class TouchDemo2 extends AppCompatActivity {
    
        private FrameLayout mFrameLayout1;
        private ImageView mImageView1;
        private TextView mTextView1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_input_touchdemo2);
    
            mFrameLayout1 = findViewById(R.id.frameLayout1);
            mImageView1 = findViewById(R.id.imageView1);
            mTextView1 = findViewById(R.id.textView1);
    
            sample();
        }
    
        @SuppressLint("ClickableViewAccessibility")
        private void sample() {
            mFrameLayout1.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    mTextView1.append(String.format("mFrameLayout1 setOnClickListener, x:%f, y:%f, rawX:%f, rawY:%f
    ", event.getX(), event.getY(), event.getRawX(), event.getRawY()));
    
                    return false;
                }
            });
    
            mImageView1.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    mTextView1.append(String.format("mImageView1 setOnClickListener, x:%f, y:%f, rawX:%f, rawY:%f
    ", event.getX(), event.getY(), event.getRawX(), event.getRawY()));
    
                    return false;
                }
            });
        }
    }
    
    

    /layout/activity_input_touchdemo2.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <FrameLayout
            android:id="@+id/frameLayout1"
            android:layout_width="200dp"
            android:layout_height="200dp"
            android:background="@color/orange">
    
            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:scaleType="fitXY"
                android:layout_gravity="center"
                android:src="@drawable/img_sample_son" />
    
        </FrameLayout>
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    
    

    项目地址 https://github.com/webabcd/AndroidDemo
    作者 webabcd

  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/webabcd/p/android_input_TouchDemo2.html
Copyright © 2011-2022 走看看