android控件截图

来源:互联网 发布:医疗网络咨询招聘 编辑:程序博客网 时间:2024/06/06 03:46

Android开发中可能有对控件,布局进行截图并显示的功能

以下说一下实现的方式,也算是记个笔记,防止以后用的时候自己忘记

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <LinearLayout        android:id="@+id/linear_item"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_marginLeft="10dp"        android:background="@drawable/shap_sold_black_10dp">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingBottom="5dp"            android:textSize="15sp"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:paddingBottom="5dp"            android:textSize="15sp"/>    </LinearLayout>        <ImageView        android:id="@+id/iv"        android:layout_width="match_parent"        android:layout_height="match_parent" /></RelativeLayout>


比如我们要对linear_item进行截图

实现代码,初始化控件的代码我就省掉了


//开启图像缓存linear_item.setDrawingCacheEnabled(true); //测量view的大小 linear_item.measure( View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED) ); //发送位置和尺寸到view及其所有的子view linear_item.layout (0, 0, linear_item.getMeasuredWidth(), linear_item.getMeasuredHeight()); Bitmap bp = recycle.getDrawingCache();//获得可视组件的截图 iv.setImageBitmap(bp);

这样我们的ImageView上就显示了LinearLayout的截图


0 0