做的应用需要用到截屏的功能,自己就试着写了下,
下面是代码
有个按钮,和imageview
点击按钮,截屏获取图像并显示在imagview里
package com.example.cutscreen;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
Button CutBtn = null;
ImageView iv = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CutBtn = (Button)findViewById(R.id.CutBtn);
iv = (ImageView)findViewById(R.id.MyImage);
CutBtn.setOnClickListener(new CutListener());
}
class CutListener implements OnClickListener{
@Override
public void onClick(View v) {
CutScreen(v);
}
}
void CutScreen(View v){
//View vv = v.getRootView();
//设置属性 vv是你要截取的View
View vv = this.getWindow().getDecorView();
vv.setDrawingCacheEnabled(true);
//取得位图
Bitmap bm = vv.getDrawingCache();
//用imageView显示刚才截的图
iv.setImageBitmap(bm);
//setContentView(iv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}