編輯:關於Android編程
現在很多Android市場中都能找到關於美女的應用,比如 撕開美女衣服、吹裙子等。
這些應用的下載量挺大的,作為Android的開發人員或者一名技術人員我們不能只局限在欣賞應用的層面,很多時候需要我們去揭開神秘背後的真相,下面我們來看一下如何來開發這樣一個類似的撕開美女衣服的應用。
先來看一下效果:

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+xuTKtdXiuPbTptPDtcTUrcDtuty88rWlo6zT0MG91cXNvMaso6yyvL7WyOfPwqO6PC9wPgo8cD48cHJlIGNsYXNzPQ=="brush:java;"><frameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
上面一張圖片是穿著衣服的圖片,下面一張圖片是撕開衣服的圖片。
在Activity中我們先創建一個可以編輯的Bitmap圖片對象,然後對該圖片中像素點的顏色(透明度)進行改變就實現我們所要的效果了。
package com.example.sikaimeinvyifu;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView backImg;
private ImageView upImg;
private Bitmap alterBitmap;
private Canvas canvas;
private Paint paint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//改變圖片大小
BitmapFactory.Options opts = new Options();
opts.inSampleSize = 1;
backImg = (ImageView) findViewById(R.id.back_img);
upImg = (ImageView) findViewById(R.id.up_img);
//只讀的圖片
Bitmap back = BitmapFactory.decodeResource(getResources(), R.drawable.back, opts);
Bitmap up = BitmapFactory.decodeResource(getResources(), R.drawable.up, opts);
//可以修改的空白的Bitmap
alterBitmap = Bitmap.createBitmap(up.getWidth(), up.getHeight(), up.getConfig());
//將alterBitmap作為畫布,然後將Bitmap up畫到畫布上。
canvas = new Canvas(alterBitmap);
paint = new Paint();
paint.setStrokeWidth(5);
paint.setColor(Color.BLACK);
canvas.drawBitmap(up, new Matrix(), paint);
backImg.setImageBitmap(back);
upImg.setImageBitmap(alterBitmap);
upImg.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
int x = (int) event.getX();
int y = (int) event.getY();
System.out.println(x);
System.out.println(y);
for(int i=-5; i<5; i++){
for(int j=-5; j<5; j++){
//更改畫布上該像素點的顏色
alterBitmap.setPixel(i + x, j + y, Color.TRANSPARENT);
}
}
//重新繪制到ImageView上面
upImg.setImageBitmap(alterBitmap);
break;
default:
break;
}
return true;
}
});
}
}
Android登陸界面實現清除輸入框內容和震動效果
本文為大家分享Android登陸界面實現清除輸入框內容和震動效果的全部代碼,具體內容如下:效果圖:主要代碼如下自定義的一個EditText,用於實現有文字的時候顯示可以清
線性表數據結構解讀(五)哈希表結構-HashMap
前面的博客中,我給大家分析過數組和鏈表兩種線性表數據結構。數組存儲區間連續,查找方便,但是插入和刪除效率低下;鏈表存儲區間離散,插入刪除方便,但是查找困難。大家肯定會問,
Android Multimedia框架總結(十九)Camera2框架C/S模型之CameraService啟動及與Client連接過程
Agenda:一張圖看Camera2框架類圖 CameraService啟動 ICameraService.cpp Camera2Client.h與Camera2Clie
Android 自定義View實現豎直跑馬燈效果
首先給出效果圖 中間的色塊是因為視頻轉成GIF造成的失真,自動忽略哈。大家知道,橫向的跑馬燈android自帶的TextView就可以實現,詳情請百度【Andr