package com.circular.clcell3.myapplication;
import android.graphics.Bitmap;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import com.mikhaellopez.circularfillableloaders.CircularFillableLoaders;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
static ImageView iv;
static CircularFillableLoaders cfb;
Alpha alpha;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alpha = new Alpha();
iv = (ImageView)findViewById(R.id.iv);
cfb = (CircularFillableLoaders)findViewById(R.id.circularfillabeloaders);
cfb.setDrawingCacheEnabled(true);
cfb.setOnClickListener(this);
}
@Override
public void onClick(View v) {
alpha.sendEmptyMessage(0);
}
}
class Alpha extends Handler{
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bitmap btm = MainActivity.cfb.getDrawingCache();
Log.d("btm : ", btm.toString());
MainActivity.iv.setImageBitmap(btm);
}
}
커스텀뷰는 실시간으로 변하는 뷰입니다.
참고하시려면 : https://github.com/lopspower/CircularFillableLoaders
그래서 커스텀뷰를 클릭할때마다 바로 아래 있는 이미지뷰에 실시간으로 현재 뷰를 찍어서 복사하려고 했는데, 처음 한번만 복사되고 이후는 눌러도 반응이 없습니다. 이미지 뷰는 처음꺼 복사된 그대로 멈춥니다. 커스텀 뷰는 계속해서 변하구요. 로그는 계속 찍히기에 혹시 비트맵이 변하지 않는건가 하여 비트맵을 toString으로 로그찍어보니 계속 같은 문자열만 나옵니다. 실제로 비트맵이 한번 가져온 이후로 바뀌지 않은건가요?
어떻게 해결할 수 있을까요... 읽어주신 분들께 감사드립니다. 필요하신 정보가 있다면 즉시 추가 하겠습니다.
아래는 연속으로 터치했을 때의 로그입니다.
11-17 19:42:47.351 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 0
11-17 19:42:47.501 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 1
11-17 19:42:47.501 10012-10012/com.circular.clcell3.myapplication D/btm :: android.graphics.Bitmap@ed337fe
11-17 19:42:47.931 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 0
11-17 19:42:48.011 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 1
11-17 19:42:48.011 10012-10012/com.circular.clcell3.myapplication D/btm :: android.graphics.Bitmap@ed337fe
11-17 19:42:48.421 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 0
11-17 19:42:48.481 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 1
11-17 19:42:48.481 10012-10012/com.circular.clcell3.myapplication D/btm :: android.graphics.Bitmap@ed337fe
11-17 19:42:48.881 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 0
11-17 19:42:48.931 10012-10012/com.circular.clcell3.myapplication D/ViewRootImpl: ViewPostImeInputStage processPointer 1
11-17 19:42:48.931 10012-10012/com.circular.clcell3.myapplication D/btm :: android.graphics.Bitmap@ed337fe