基于Android實(shí)現(xiàn)隨手指移動(dòng)的ImageView
ImageView用來顯示任意圖像圖片,可以自己定義顯示尺寸,顯示顏色等等.
運(yùn)行效果是這樣的(文字說明):
首次進(jìn)入程序,手指點(diǎn)擊屏幕上的任意位置,圖片會(huì)隨之移動(dòng)。
布局文件
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/FrameLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#f0f0f0" > <com.sgw.move.MoveImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon" > </com.sgw.move.MoveImageView> </FrameLayout>
實(shí)現(xiàn)代碼
public class MoveImageView extends ImageView { public MoveImageView(Context context) { super(context); } public MoveImageView(Context context, AttributeSet attrs) { super(context, attrs, 0); } public MoveImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setLocation(int x, int y) { this.setFrame(x, y - this.getHeight(), x + this.getWidth(), y); } // 移動(dòng) public boolean autoMouse(MotionEvent event) { boolean rb = false; switch (event.getAction()) { case MotionEvent.ACTION_MOVE: this.setLocation((int) event.getX(), (int) event.getY()); rb = true; break; } return rb; } } public class TestImageViewMove extends Activity { private MoveImageView moveImageView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); moveImageView = (MoveImageView) this.findViewById(R.id.ImageView01); } @Override public boolean onTouchEvent(MotionEvent event) { moveImageView.autoMouse(event); return false; } }
以上內(nèi)容給大家介紹了基于Android實(shí)現(xiàn)隨手指移動(dòng)的ImageView的相關(guān)知識(shí),希望本文分享對(duì)大家有所幫助。
相關(guān)文章
Flutter進(jìn)階之實(shí)現(xiàn)動(dòng)畫效果(八)
這篇文章主要為大家詳細(xì)介紹了Flutter進(jìn)階之實(shí)現(xiàn)動(dòng)畫效果的第八篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Android studio利用gradle打jar包并混淆的方法詳解
昨天準(zhǔn)備把寫好的代碼使用gradle打jar包出來,并打算加混淆。打jar包容易,結(jié)果在混淆上走了彎路。所以這篇文章主要介紹了關(guān)于Android studio利用gradle打jar包并混淆的方法,需要的朋友可以參考下。2017-03-03Android學(xué)習(xí)筆記之ListView復(fù)用機(jī)制詳解
本篇文章主要介紹了Android學(xué)習(xí)筆記之ListView復(fù)用機(jī)制詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02Android中AsyncTask與handler用法實(shí)例分析
這篇文章主要介紹了Android中AsyncTask與handler用法,以實(shí)例形式較為詳細(xì)的分析了Android中AsyncTask與handler的功能、用法與相關(guān)注意事項(xiàng),并附帶完整實(shí)例源碼供讀者下載,需要的朋友可以參考下2015-10-10Android 程序申請(qǐng)權(quán)限注意事項(xiàng)
本主要介紹Android 程序申請(qǐng)權(quán)限注意事項(xiàng),這里整理了相關(guān)資料,并詳細(xì)說明如何避免開發(fā)的程序支持設(shè)備減少,有需要的小伙伴可以參考下2016-09-09android?原生安全音量配置邏輯設(shè)計(jì)詳解
這篇文章主要為大家介紹了android?原生安全音量配置邏輯設(shè)計(jì)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Android?廣播接收器BroadcastReceiver詳解
Android開發(fā)的四大組件分別是:活動(dòng)(activity),用于表現(xiàn)功能;服務(wù)(service),后臺(tái)運(yùn)行服務(wù),不提供界面呈現(xiàn);廣播接受者(Broadcast Receive),勇于接收廣播;內(nèi)容提供者(Content Provider),支持多個(gè)應(yīng)用中存儲(chǔ)和讀取數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫(kù),本篇著重介紹廣播組件2022-07-07Android自定義view實(shí)現(xiàn)太極效果實(shí)例代碼
這篇文章主要介紹了Android自定義view實(shí)現(xiàn)太極效果實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05