編輯:關於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登陸界面實現清除輸入框內容和震動效果的全部代碼,具體內容如下:效果圖:主要代碼如下自定義的一個EditText,用於實現有文字的時候顯示可以清
前面的博客中,我給大家分析過數組和鏈表兩種線性表數據結構。數組存儲區間連續,查找方便,但是插入和刪除效率低下;鏈表存儲區間離散,插入刪除方便,但是查找困難。大家肯定會問,
Agenda:一張圖看Camera2框架類圖 CameraService啟動 ICameraService.cpp Camera2Client.h與Camera2Clie
首先給出效果圖 中間的色塊是因為視頻轉成GIF造成的失真,自動忽略哈。大家知道,橫向的跑馬燈android自帶的TextView就可以實現,詳情請百度【Andr