我可以找到用户点击按钮的点吗?

时间:2015-06-03 03:42:20

标签: android

假设我在布局上有一个高度和宽度为120 dp的按钮。是否可以获得用户单击此按钮的位置?

2 个答案:

答案 0 :(得分:2)

试试此代码

 button.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            float x = event.getRawX();
            float y = event.getRawY();
            return true;
        }
    });

答案 1 :(得分:0)

活动onCreate代码

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final TextView textView = (TextView)findViewById(R.id.textView);
    // this is the view on which you will listen for touch events
    final View touchView = findViewById(R.id.touchView);
    touchView.setOnTouchListener(new View.OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        textView.setText("Touch coordinates : " +
            String.valueOf(event.getX()) + "x" +                         
            String.valueOf(event.getY()));
            return true;
           }
       });
}

布局代码

<?xml version="1.0" encoding="utf-8"?>                                      
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView  
android:id="@+id/touchView" 
android:background="#f00" 
android:layout_weight="1" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
/>
<TextView  
android:id="@+id/textView" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="Hello World, TestActivity"
/>
</LinearLayout>