目標:在指定區域上,偵測手指觸碰位置並疊一張圖標記位置
想法:
用 Button 配合 Button.OnTouchListener 上偵測觸控位置,接著需要在 Button 上疊一張圖標記 Cursor 座標位置,接著偵測 MotionEvent 的事件,動態將 Cursor 位置更新。
實作:
採用 RelativeLayout,裡頭擺上一個 Button (fill_parent) 跟 ImageButton (wrap_content),接著程式方面,替 Button 增加 setOnTouchListener 監控,並在 MotionEvent.ACTION_DOWN 和 MotionEvent.ACTION_MOVE 更新 ImageButton 位置 ( mImageButton.layout((int)event.getX(0), (int)event.getY(0), (int)event.getX(0)+mImageButton.getWidth(), (int)event.getY(0)+mImageButton.getHeight()); )
layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_gravity="center">
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="Button"/>
<ImageButton
android:contentDescription="@null"
android:background="@null"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cursor"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>
收工
沒有留言:
張貼留言