[Android]View响应屏幕触摸事件
16lz
2021-01-26
响应点击事件,我们一般通过setOnClickListener来实现,但有时我们需要响应触摸后手指松开的事件,
可以通过OnTouchListener 来实现
以下代码实现 触摸一个Layout时改变Layout的背景色为白色,离开时恢复原来的背景色
java代码
import android.app.ActionBar;import android.content.Intent;import android.graphics.Color;import android.os.Bundle;import android.os.StrictMode;import android.support.v7.app.ActionBarActivity;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.RelativeLayout;import android.widget.TextView;import android.os.Handler;import android.os.Message;import java.io.IOException;public class SelfInfoActivity extends ActionBarActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_myinfo); View baseinfo = (RelativeLayout)findViewById(R.id.lo_baseinfo); /* baseinfo.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { v.setBackgroundColor(Color.WHITE); } });*/ baseinfo.setBackgroundColor(Color.GRAY); final TextView tv_baseinfo = (TextView)findViewById(R.id.baseinfo); baseinfo.setOnTouchListener( new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent e) { switch(e.getAction()) { case MotionEvent.ACTION_DOWN: v.setBackgroundColor(Color.WHITE); tv_baseinfo.setText("action down"); break; case MotionEvent.ACTION_UP: v.setBackgroundColor(Color.GRAY); tv_baseinfo.setText("action up"); break; } return true; } } ); }}
<?xml version="1.0" encoding="utf-8"?>
更多相关文章
- Android使用webview,触发网页中链接的事件 以及webview加载本地ht
- [Android] 开发资料收集:视图、组件、自定义控件
- listView 无法响应事件
- android监听返回按钮事件
- 事件分发机制
- android ANR相关问题
- Android(安卓)View的onTouch和onClick和onLongClick事件
- Android(安卓)Broadcast 笔记
- android textview 如何实现像新浪微博@用户的点击事件