【发布时间】:2014-05-29 21:07:48
【问题描述】:
我发现了一些允许截取活动的代码。虽然,我遇到了问题。由于没有更好的术语,它似乎“出现故障”。使用来自here 的一些代码,我将其设置为将获取位图并使用 setimagebitmap 将其放入图像视图的位置。当我按下按钮截取屏幕截图时,它第一次效果很好。然而,第二次使图像显示无限数量的按钮,下降并变小。我在 onclicklistener 的开头尝试了 destroydrawingcache ,但这会使应用程序在第二次单击按钮时崩溃。我什至尝试使用 setimagebitmap(null) 清除图像视图。
这是完成所有工作的活动。
public class MainAvtivity extends Activity
{
ImageView imgView;
Button btnScreenshot;
View rootView;
Bitmap bmap;
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main)
imgView = (ImageView)findViewById(R.id.imageView);
btnScreenshot = (Button)findViewById(R.id.btnScreenshot);
rootView = findViewById(android.R.id.content).getRootView();
btnScreenshot.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
imgView.setImageBitmap(null);
rootView.destroyDrawinCache();
bmap = takeScreenshot();
setImgView(bmap);
}
}
public Bitmap takeScreenshot()
{
rootView.setDrawingCacheEnabled(true);
return rootView.getDrawingCache();
}
public void setImgView(Bitmap bitmap)
{
imgView.setImageBitmap(bitmap);
}
}
【问题讨论】:
标签: android