마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

WebView 로 이미지 보여줄때 질문드립니다

0 추천

안녕하세요

 

핀치줌 으로 이미지 확대 축소 이동 등등을 하다가 잘 안되가지구 

 

웹뷰로 이미지를 띄워주고있는데요

 

여기서 문제가 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();
 
    }
 
    }

 

 

 

소스는 이렇게 되는데요 왜 어쩔땐 나오고 어쩔땐 안나오는걸까요..

그리구 

 

 

321312312.PNG

 

이런식으로 있다면 웹뷰에서는 터치로 확대 이동 축소 가 되고

위에 확대 축소 회전 좌우반전 버튼을 눌렀을때도 웹뷰에 있는 이미지상태에서 추가적으로 기능이 수행되게 하고싶은데요 어떤식으로 접근해야하나요? 또 웹뷰를 두번 터치했을때 이미지가 커졌다가 다시 두번 터치하면 작아지게 하고싶은데요,, 어떻게 해야되나요? 고수분들 도와주시기 바랍니다 ㅠㅠ

 

엣센스 (300 포인트) 님이 2016년 4월 25일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...