日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android中关于点击屏幕,实现破碎的效果的实现

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android中关于点击屏幕,实现破碎的效果的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
昨天網上,跟哥們討論起點擊屏幕破碎的效果,今天索性就拿出時間整理一下,很簡單奧, 基本思路: 1. 自定義一個View,用于展示這個破碎的的效果 2.在activity中加入這個view,通過setContentView(view); 3.注意要把activity的theme設置成 android:theme="@android:style/Theme.Translucent.NoTitleBar" ?,這樣玩起來會更有效果。 首先重寫一個view,我們就叫CustomeView吧。自己隨便定義就好。 定義構造函數 如下: public CustomView(Context context, AttributeSet attrs) { super(context); this.setKeepScreenOn(true); this.setFocusable(true); this.setLongClickable(true); this.mSoundPool = new SoundPool(5, AudioManager.STREAM_SYSTEM, 5); this.mSoundMap.put(1, mSoundPool.load(context, R.raw.cfokwowbfv, 1)); this.mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.screen); mXPointList = new ArrayList<Float>(); mYPointList = new ArrayList<Float>();? }
在這里聲明了一個聲音池(用于點擊屏幕時,發出破碎的逼真效果),一個bitmap,用于顯示屏幕破碎 在就是兩個list分別是mXPointList?和mYPointList,用于保存點擊時x和y的點。
接著,我們看一下OntouchEvent() ?@Override ?public boolean onTouchEvent(MotionEvent arg1) { ? // TODO Auto-generated method stub ? switch (arg1.getAction()) { ? case MotionEvent.ACTION_DOWN: ? ?playSound();//發聲 ? ?mXPointList.add(arg1.getX()); ? ?mYPointList.add(arg1.getY()); ? ?postInvalidate();//刷新界面 ? ?mCount++;//點擊的個數,其中,mLength是總個數 ? ?if (mCount > mLength) { ? ? mXPointList.remove(0); ? ? mYPointList.remove(0); ? ? mLength++; ? ?} ? ?break; ? case MotionEvent.ACTION_UP: ? ?break; ? case MotionEvent.ACTION_MOVE: ? ?break; ? default: ? ?break; ? } ? return super.onTouchEvent(arg1); ?}
大家可以參照我寫的注釋,一看就明白 最后是onDraw()方法,此方法尤為重要。 @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); for (int i = 0; i < mXPointList.size(); ++i) {//點了多少次,就把破碎的圖片顯示多少次 canvas.drawBitmap(mBitmap, mXPointList.get(i) - mBitmap.getWidth() / 2, mYPointList.get(i) - mBitmap.getHeight() / 2, null); } }
然后在要引用的activity中的oncreate方法中進行如下設置:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); CustomView view = new CustomView(this, null); setContentView(view);
}

另外,不要忘了在mainfest文件中加上 <activity android:name=".ScreenCrashMainActivity" ?? ? android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" >
效果更逼真。嘻嘻。好了,打完收工!

總結

以上是生活随笔為你收集整理的android中关于点击屏幕,实现破碎的效果的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。