마스터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일 질문

답변 달기

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