我想在我的布局上拍摄屏幕截图,下面的代码用于测量相对布局上的子计数,然后绘制布局。但我得到getdrawingcache()值为null。
View v=relative layout;
int allitemsheight = 0;
List<Bitmap> bmps = new ArrayList<Bitmap>();
for (int i = 0; i < relative.getChildCount(); i++) {
View childView = relative.getChildAt(i);
childView.setDrawingCacheEnabled(true);
childView.measure(MeasureSpec.makeMeasureSpec(v.getWidth(), MeasureSpec.EXACTLY),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
childView.layout(0, 0, childView.getMeasuredWidth(), childView.getMeasuredHeight());
childView.setDrawingCacheEnabled(true);
childView.buildDrawingCache(true);
bmps.add(childView.getDrawingCache());
allitemsheight+=childView.getMeasuredHeight();
}
Bitmap b = Bitmap.createBitmap(v.getMeasuredWidth(), allitemsheight, Bitmap.Config.ARGB_8888);
Canvas bigcanvas = new Canvas(b);
Paint paint = new Paint();
bigcanvas.drawColor(c.getResources().getColor(R.color.background));
int iHeight = 0;
for (int i = 0; i < bmps.size(); i++) {
Bitmap bmp = bmps.get(i);
bigcanvas.drawBitmap(bmp, 0, iHeight, paint);
iHeight+=bmp.getHeight();
if (null != bmp && !bmp.isRecycled()) {
bmp.recycle();
} else {
}
bmp=null;
}
我的xml是,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/screen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="5dp"
android:background="@drawable/login_bg" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:id="@+id/above"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="80dp"
android:layout_marginTop="28dp"
android:layout_toLeftOf="@+id/editText1"
android:text="First Name"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText1"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentTop="true"
android:layout_marginRight="30dp"
android:layout_marginTop="15dp"
android:layout_toLeftOf="@+id/line1"
android:textColor="@color/app_text_color" >
</EditText>
<View
android:id="@+id/line1"
android:layout_width="2dp"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:background="@android:color/transparent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginTop="28dp"
android:layout_toLeftOf="@+id/editText2"
android:layout_toRightOf="@+id/line1"
android:text="Middle Name"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText2"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:textColor="@color/app_text_color" >
</EditText>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginLeft="80dp"
android:layout_marginTop="70dp"
android:layout_toLeftOf="@+id/editText3"
android:text="Last Name"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText3"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText1"
android:layout_marginRight="30dp"
android:layout_marginTop="42dp"
android:layout_toLeftOf="@+id/line1"
>
</EditText>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_marginLeft="30dp"
android:layout_marginTop="65dp"
android:layout_toLeftOf="@+id/spinner1"
android:layout_toRightOf="@+id/line1"
android:text="Gender"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText2"
android:layout_marginRight="40dp"
android:layout_marginTop="42dp"
android:background="@drawable/spinner_bg"
android:ems="10"
android:paddingLeft="5dp"
android:paddingRight="5dp" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView3"
android:layout_marginLeft="80dp"
android:layout_marginTop="65dp"
android:layout_toLeftOf="@+id/editText1"
android:text="Birth Date"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText4"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText3"
android:layout_marginRight="30dp"
android:layout_marginTop="44dp"
android:layout_toLeftOf="@+id/line1"
>
</EditText>
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView4"
android:layout_marginLeft="30dp"
android:layout_marginTop="65dp"
android:layout_toRightOf="@+id/line1"
android:text="Age"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText5"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/spinner1"
>
</EditText>
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView5"
android:layout_marginLeft="80dp"
android:layout_marginRight="30dp"
android:layout_marginTop="75dp"
android:layout_toLeftOf="@+id/editText1"
android:text="Address(St)"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText6"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText4"
android:layout_marginRight="30dp"
android:layout_marginTop="42dp"
android:layout_toLeftOf="@+id/line1"
>
</EditText>
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView6"
android:layout_marginLeft="30dp"
android:layout_marginTop="70dp"
android:layout_toRightOf="@+id/line1"
android:text="Suite/apt"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText7"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText5"
android:layout_marginRight="40dp"
android:layout_marginTop="42dp"
android:background="@drawable/txt1"
android:ems="10"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:singleLine="true"
android:textColor="@color/app_text_color" >
</EditText>
<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView7"
android:layout_marginLeft="80dp"
android:layout_marginTop="65dp"
android:layout_toLeftOf="@+id/editText1"
android:text="City"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText8"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText6"
android:layout_marginRight="30dp"
android:layout_marginTop="40dp"
android:layout_toLeftOf="@+id/line1"
>
</EditText>
<TextView
android:id="@+id/textView10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView8"
android:layout_marginLeft="30dp"
android:layout_marginTop="70dp"
android:layout_toRightOf="@+id/line1"
android:text="State"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<Spinner
android:id="@+id/editText9"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText7"
android:layout_marginRight="40dp"
android:layout_marginTop="40dp"
android:background="@drawable/spinner_bg"
android:maxLength="2"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:singleLine="true"
android:textColor="@color/app_text_color" />
<TextView
android:id="@+id/textView11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView9"
android:layout_marginLeft="80dp"
android:layout_marginTop="70dp"
android:layout_toLeftOf="@+id/editText1"
android:text="Zip"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText10"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText8"
android:layout_marginRight="30dp"
android:layout_marginTop="42dp"
android:layout_toLeftOf="@+id/line1"
>
</EditText>
<TextView
android:id="@+id/textView12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView10"
android:layout_marginLeft="30dp"
android:layout_marginTop="62dp"
android:layout_toRightOf="@+id/line1"
android:text="Validate Address"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<TextView
android:id="@+id/textView13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView11"
android:layout_marginLeft="80dp"
android:layout_marginRight="30dp"
android:layout_marginTop="70dp"
android:layout_toLeftOf="@+id/line1"
android:text="Email"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText11"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText10"
android:layout_marginRight="30dp"
android:layout_marginTop="45dp"
android:layout_toLeftOf="@+id/line1"
android:background="@drawable/txt1"
>
</EditText>
<TextView
android:id="@+id/textView14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView12"
android:layout_marginLeft="30dp"
android:layout_marginTop="70dp"
android:layout_toRightOf="@+id/line1"
android:text="Home Phone"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText12"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView12"
>
</EditText>
<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView13"
android:layout_marginLeft="80dp"
android:layout_marginTop="52dp"
android:layout_toLeftOf="@+id/editText1"
android:text="SSN"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText14"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText12"
android:layout_marginRight="30dp"
android:layout_marginTop="45dp"
android:layout_toLeftOf="@+id/line1"
android:background="@drawable/txt1"
android:ems="10"
android:inputType="number"
android:maxLength="11"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:singleLine="true"
android:textColor="@color/app_text_color" >
</EditText>
<TextView
android:id="@+id/textView16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView14"
android:layout_marginLeft="30dp"
android:layout_marginTop="65dp"
android:layout_toRightOf="@+id/line1"
android:text="Member ID"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText15"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText12"
android:layout_marginRight="40dp"
>
</EditText>
<TextView
android:id="@+id/textView17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView15"
android:layout_marginLeft="80dp"
android:layout_marginTop="70dp"
android:layout_toLeftOf="@+id/editText1"
android:text="Group ID"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText16"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_below="@+id/editText14"
android:layout_marginRight="30dp"
android:layout_marginTop="45dp"
android:layout_toLeftOf="@+id/line1"
>
</EditText>
<TextView
android:id="@+id/textView18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView16"
android:layout_marginLeft="30dp"
android:layout_marginTop="64dp"
android:layout_toRightOf="@+id/line1"
android:text="Employee ID"
android:textColor="@color/app_text_color"
android:textSize="25dp" />
<EditText
android:id="@+id/editText17"
android:layout_width="341dp"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText15"
android:layout_marginRight="40dp"
android:layout_marginTop="42dp"
>
</EditText>
<RelativeLayout
android:id="@+id/rel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_below="@+id/editText17"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp" >
<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="57dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="400dp"
android:background="@drawable/bt_register" />
<Button
android:id="@+id/button2"
android:layout_width="200dp"
android:layout_height="57dp"
android:layout_alignParentRight="true"
android:layout_marginRight="400dp"
android:background="@drawable/bt_reset" />
<RelativeLayout
android:id="@+id/rel"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:layout_below="@+id/button1"
></RelativeLayout>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
</LinearLayout>
我为视图字段提供了空x xml文件
<View
android:id="@+id/line1"
android:layout_width="2dp"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:background="@android:color/transparent" />
请帮我解决。