重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
這篇文章給大家介紹Android中怎么實(shí)現(xiàn)按鈕拖拽還原功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、鎮(zhèn)遠(yuǎn)ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的鎮(zhèn)遠(yuǎn)網(wǎng)站制作公司
具體代碼如下所示:
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://移動(dòng),小球跟隨手指的移動(dòng) 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; } }); } }
關(guān)于Android中怎么實(shí)現(xiàn)按鈕拖拽還原功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。