Android實(shí)現(xiàn)按鈕拖拽還原功能
具體代碼如下所示:
public class MainActivity extends AppCompatActivity { private ImageButton ibOk ; private int lastX; private int lastY; private int startLeft; private int startRight; private int startTop; private int startBottom; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ibOk = (ImageButton) findViewById(R.id.ib_ok); ibOk.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); //獲取手機(jī)觸摸的坐標(biāo) int x = (int) event.getX(); int y = (int) event.getY(); switch (action) { case MotionEvent.ACTION_DOWN://按下,獲取小球初始的位置 startLeft = ibOk.getLeft(); startRight = ibOk.getRight(); startTop = ibOk.getTop(); startBottom = ibOk.getBottom(); lastX = x; lastY = y; break; case MotionEvent.ACTION_MOVE://移動,小球跟隨手指的移動 int offsetX = x - lastX; int offsetY = y - lastY; ibOk.layout(ibOk.getLeft() + offsetX, ibOk.getTop() + offsetY, ibOk.getRight() + offsetX, ibOk.getBottom() + offsetY); break; case MotionEvent.ACTION_UP://當(dāng)手指抬起時(shí),回到小球初始的位置 ibOk.layout(startLeft, startTop, startRight, startBottom); break; } return true; } }); } }
代碼解釋: 圖一,是完整代碼。按鈕可以隨意拖拽(X+Y軸),抬手,按鈕恢復(fù)到初始位置。 圖二區(qū)域,按此方式可以實(shí)現(xiàn)橫向拖拽,類似接打電話動畫效果,左邊接聽,右邊掛斷。
總結(jié)
以上所述是小編給大家介紹的Android實(shí)現(xiàn)按鈕拖拽還原功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
自定義View系列之kotlin繪制手勢設(shè)置溫度控件的方法
這篇文章主要給大家介紹了關(guān)于自定義View系列之kotlin繪制手勢設(shè)置溫度控件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07Android中FoldingLayout折疊布局的用法及實(shí)戰(zhàn)全攻略
這篇文章主要介紹了Android中FoldingLayout折疊布局的用法及實(shí)例,通過FoldingLayout我們可以制作出炫酷的菜單折疊效果,文中的例子講解得非常詳細(xì),需要的朋友可以參考下2016-02-02android自定義imageview實(shí)現(xiàn)圓角圖片
這篇文章主要為大家詳細(xì)介紹了android自定義imageview實(shí)現(xiàn)圓角圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02Android audio音頻流數(shù)據(jù)異常問題解決分析
這篇文章主要為大家介紹了Android audio音頻流數(shù)據(jù)異常問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Android實(shí)現(xiàn)觸發(fā)html頁面的Button控件點(diǎn)擊事件方式
這篇文章主要介紹了Android實(shí)現(xiàn)觸發(fā)html頁面的Button控件點(diǎn)擊事件方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03