안드로이드 개발 질문/답변
(글 수 45,052)
Dialog d = new Dialog(this) {
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ( keyCode == KeyEvent.KEYCODE_BACK )
this.dismiss();
return true;
}
};
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.getWindow().setGravity(Gravity.BOTTOM);
d.addContentView(wv2, new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, Gravity.BOTTOM));
d.show();
//
Log.i("observed_result", ""+tempStr );
wv2.loadDataWithBaseURL("null, tempStr, "text/html", "UTF-8", null);
위와 같은 방법으로 다이얼로그를 띄워서 webview를 삽입하여 띄우려 합니다.
loadDataWithBaseURL 의 2번째 파라미터인 tempStr은 아래와 같습니다.
tempStr = "" +
"<html xml:lang=\"ko\" xmlns=\"http://www.w3.org/1999/xhtml\" >" +
"<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">" +
"<link rel=\"stylesheet\" href="\"http://andy.uclab.kr/sensorweb/css/common.css\" />" +
"<link rel=\"stylesheet\" href="\"http://andy.uclab.kr/sensorweb/css/detail_view.css\" />" +
"<title></title>" +
"</head>" +
"<body>" +
"<div id=\"detail_view_wrap\">" +
"<div id=\"detail_view_header\">" +
"<div style=\"float:left; padding-right:10px;\">" +
"<img src="\"http://andy.uclab.kr/sensorweb/images/buoy_icon.png\" />" +
"</div>" +
"<div style=\"float:left\">" +
"<span style=\"font-weight:bold; font-size:13pt; color:#ffffff;\">Busan1</span>" +
"<div style=\"clear:both; height:5px;\"></div>" +
"<span style=\"color:#cccccc;\">latitude: 35.065, longitude: 129.165</span>" +
"</div>" +
"</div>" +
"</div>" +
"</body></html>";
제가 만들어놓은 서버로 접속하고 있고, 간단한 CSS를 사용하는데...
이게 webview를 findviewbyID 를 사용한 웹뷰에는 잘 뜨는데,
다이얼로그를 사용한 webview = new WebView(this) 일케해서 객체 만들어서
띄우면 웹뷰에 뜨질 않습니다.
이 부분에 대해서 고수분들께 도움을 요청드립니다. ㅠㅠ




다이얼로그가 보여지기전에 웹뷰의 크기를 정해야 할 듯합니다. 웹뷰를 넣을때 match_parent라고 설정하면 엄청 작거나 0일 겁니다. 보통 다이얼로그들은 내용물의 담길 수 있는 최소한의 크기니깐요. 따라서 웹뷰 크기를 고정 해보세요.