안녕하세요
핀치줌 으로 이미지 확대 축소 이동 등등을 하다가 잘 안되가지구
웹뷰로 이미지를 띄워주고있는데요
여기서 문제가 HTML 을 이용해서 화면 꽉차게 해서 띄워주는건데요
어쩔때는 이미지가 나오고 어쩔때는 안나오네요..
안나올려면 아예 안나와야 되는데..
@SuppressLint("NewApi")
public class ImageDetailActivity extends Activity {
Bitmap mBmp;
ImageButton mBtn_zoom_in,mBtn_zoom_out,mBtn_rotate,mBtn_twist;
WebView webView;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_detail);
final ImageView view = (ImageView) findViewById(R.id.image);
mBtn_zoom_in = (ImageButton)findViewById(R.id.btn_zoom_in);
mBtn_zoom_out = (ImageButton)findViewById(R.id.btn_zoom_out);
mBtn_rotate = (ImageButton)findViewById(R.id.btn_rotate);
mBtn_twist = (ImageButton)findViewById(R.id.btn_twist);
Intent intent = getIntent();
final String mImgUrl = intent.getStringExtra("IMG_URL");
try{
webView = (WebView)findViewById(R.id.ID_IMG);
webView.setVerticalScrollBarEnabled(false);
webView.setVerticalScrollbarOverlay(false);
webView.setHorizontalScrollBarEnabled(false);
webView.setHorizontalScrollbarOverlay(false);
webView.setInitialScale(100);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
webView.loadDataWithBaseURL(null,creHtmlBody(mImgUrl), "text/html", "utf-8", null);
}
catch(Exception e){
e.printStackTrace();
}
}
public String creHtmlBody(String imagUrl){
System.out.println(imagUrl);
StringBuffer sb = new StringBuffer("<HTML>");
sb.append("<HEAD>");
sb.append("</HEAD>");
sb.append("<BODY style='margin:0; padding:0; text-align:center;'>"); //중앙정렬
sb.append("<img width='100%' height='100%' src=\"" + imagUrl+"\">"); //가득차게 나옴
sb.append("</BODY>");
sb.append("</HTML>");
System.out.println(sb);
return sb.toString();
}
}
소스는 이렇게 되는데요 왜 어쩔땐 나오고 어쩔땐 안나오는걸까요..
그리구
이런식으로 있다면 웹뷰에서는 터치로 확대 이동 축소 가 되고
위에 확대 축소 회전 좌우반전 버튼을 눌렀을때도 웹뷰에 있는 이미지상태에서 추가적으로 기능이 수행되게 하고싶은데요 어떤식으로 접근해야하나요? 또 웹뷰를 두번 터치했을때 이미지가 커졌다가 다시 두번 터치하면 작아지게 하고싶은데요,, 어떻게 해야되나요? 고수분들 도와주시기 바랍니다 ㅠㅠ