Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android將View轉化成Bitmap圖像,實現有趣的效果

Android將View轉化成Bitmap圖像,實現有趣的效果

編輯:關於Android編程

今天的Demo比較簡單,就是簡單的把View的內容轉化成Bitmap,先來個效果圖:

\

 

看圖是不是有點不知所雲,哈哈,聽我細細道來,首先我用一個LinearLayout填滿空間,背景色為白色。這個LinearLayout裡面只有一個ImageView成員,margin設為20dp,背景設為黑色透明度為10(#10000000),每點擊一下屏幕,就會多一層次的,直到形成上圖效果。

好了,表述可能不夠准確,看代碼吧:

布局層次很簡單:

 



    

 

 

Activity同樣很簡單:

 

package com.example.viewtobitmap;

import android.support.v7.app.ActionBarActivity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class Main extends ActionBarActivity {
	private LinearLayout llMain;
	private ImageView ivShow;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		this.requestWindowFeature(Window.FEATURE_NO_TITLE);
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		llMain = (LinearLayout) findViewById(R.id.llMain);
		ivShow = (ImageView) findViewById(R.id.ivShow);

		llMain.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Bitmap bitmap = createViewBitmap(v);
				ivShow.setImageBitmap(bitmap);
			}
		});
	}

	public Bitmap createViewBitmap(View v) {
		Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight(),
				Bitmap.Config.ARGB_8888);
		Canvas canvas = new Canvas(bitmap);
		v.draw(canvas);
		return bitmap;
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

Menu不是重點,是系統加的,我太懶了就沒刪掉。核心代碼也就是監聽器裡面的onClick函數。

 

下面的工程鏈接給和我一樣懶到復制的人,哈哈:

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved