編輯:關於Android編程
可能有些同學不明白,為啥要圖片反轉(不是旋轉哦),我們在游戲開發中,為了節省圖片資源(空間) 有可能會使用到圖片反轉,例如,一個人物圖片,面向左,或右,如果不能實現圖片反轉的情況下,就需要兩張圖片了,廢話少說,看效果上代碼:

在上圖中,實際兩個人物使用的是一張圖片,只是針對一張圖片做了處理而已。
詳細代碼:
public class ImageSurfaceView extends SurfaceView implements SurfaceHolder.Callback{
public Bitmap image_bitmap;
public ImageSurfaceView(Context context) {
super(context);
//添加回調
SurfaceHolder holder=this.getHolder();
holder.addCallback(this);
initBitmap(context);
}
public void initBitmap(Context context){
Resources r=context.getResources();
image_bitmap=BitmapFactory.decodeResource(r,R.drawable.ima);
}
//界面渲染
public void onDraw(Canvas canvas){
canvas.drawBitmap(image_bitmap,0,0, null); //輸出第一張圖片
//初始化Matrix 該類是針對圖形做一些效果的工具類
Matrix m=new Matrix();
m.setScale(-1,1);
m.postTranslate(image_bitmap.getWidth()*2,0); //向右平移兩個圖片寬度的位置
canvas.drawBitmap(image_bitmap, m, paint); //輸出第二張圖片
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
Canvas canvas=holder.lockCanvas(); //調用渲染界面的方法 渲染出界面
onDraw(canvas);
holder.unlockCanvasAndPost(canvas);
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
}
以上就是android實現圖片反轉的關鍵代碼,希望對大家的學習有所幫助。
android啟動界面
啟動界面的效果圖: 實現的原理:在一個線程中讓幾幅圖片進行循環顯示,實現了動畫的效果。 主要的實現類LoadingView是自定義控件,繼承了ImageView,實現了R
Android MVP開發模式詳解(十九)
(一).前言:今天我們的項目繼續更新,今天我們主要講解MVP開發模式以及具體實例。 (二).簡介:MVP(Model ViewPrese
Android自定義控件之組合控件學習筆記分享
我們來講一下自定義組合控件,相信大家也接觸過自定義組合控件吧,話不多說,直接干(哈~哈~):大家看到這個覺得這不是很簡單的嗎,這不就是寫個布局文件就搞定嘛,沒錯,確實直接
最常用和最難用的Android控件ListView
ListView允許用戶通過手指上下滑動的方式將屏幕外的數據滾動到屏幕內,同時屏幕上原有的數據則會滾動出屏幕.1. ListView的簡單用法首先新建一個ListView