結論:含まれる
親View{
子View
子View
...
}
上記関係にあるViewにおいて、親ViewでgetDrawingCache()して取得したBitmapには子Viewの画像も描かれている。
実験に使ったコードは下記のとおり。
public class MainActivity extends Activity
implements
OnClickListener
{
Button btn1, btn2;
Bitmap bm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button)findViewById(R.id.Button1);
btn1.setOnClickListener(this);
btn2 = (Button)findViewById(R.id.Button2);
btn2.setOnClickListener(this);
bm = null;
}
@Override
protected void onDestroy() {
if(bm!=null) bm.recycle();
super.onDestroy();
}
@Override
public void onClick(View v) {
if(bm!=null){
bm.recycle();
bm = null;
}
if(v==btn1) v = (RelativeLayout)findViewById(R.id.RelativeLayout);
else{
if(v==btn2) v = (TextView)findViewById(R.id.TextView);
else v = null;
}
if(v!=null){
v.setDrawingCacheEnabled(true);
bm = v.getDrawingCache().copy(Bitmap.Config.ARGB_8888, false);
v.setDrawingCacheEnabled(false);
ImageView iv = (ImageView)findViewById(R.id.Image2);
iv.setImageBitmap(bm);
}
}
}
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
>
<RelativeLayout
android:id="@+id/RelativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#9999ff"
>
<ImageView
android:id="@+id/Image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:contentDescription="@string/app_name"
android:background="#99ff99"
>
</ImageView>
<Button
android:id="@+id/Button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/Image"
android:text="@string/Button1"
>
</Button>
<TextView
android:id="@+id/TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/Image"
android:layout_below="@id/Button1"
android:gravity="center"
android:text="@string/hello_world"
android:background="#ff9999"
/>
</RelativeLayout>
<Button
android:id="@+id/Button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/Button2"
>
</Button>
<ImageView
android:id="@+id/Image2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"
android:contentDescription="@string/app_name"
>
</ImageView>
</LinearLayout>
0 件のコメント:
コメントを投稿