Android拍摄截图

前端之家收集整理的这篇文章主要介绍了Android拍摄截图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

嗨,我试着编写一个截图的功能.
我找到了一个代码,通过按钮clicklistner完美地完成它,但当我删除按钮clicklistner并尝试在oncreate中截取我获得的位图是空的.
为什么会这样?

布局:

@H_502_12@

活动:

public class MainActivity extends Activity {
    LinearLayout L1;
    ImageView image;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity);


        L1 = (LinearLayout) findViewById(R.id.LinearLayout01);
        Button but = (Button) findViewById(R.id.munchscreen);
        but.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                View v1 = L1.getRootView();
                v1.setDrawingCacheEnabled(true);
                Bitmap bm = v1.getDrawingCache();
                BitmapDrawable bitmapDrawable = new BitmapDrawable(bm);
                image = (ImageView) findViewById(R.id.screenshots);
                image.setBackgroundDrawable(bitmapDrawable);
            }
        });

    }


}
@H_502_12@
最佳答案

just try to take a screenshot in the oncreate the bitmap I get is empty. Why does it happens?

用户界面尚未呈现.鉴于您正在使用的方法,您需要框架在捕获屏幕截图之前实际绘制UI.

相反,如果你有一个根视图draw()到一个支持Bitmap的Canvas,那可能在onCreate()中已经有效了.这取决于是否已使用measure()和layout()调用了根视图,并且我不确定它是否已经在onCreate()或稍后发生.

猜你在找的Android相关文章