쇼핑몰 앱을 하나 만들고 있습니다.

거의 다 만들었습니다.

근데 진짜 사소한 자그마한 문제로

갑측에서 자꾸 걸고 넘어지면서 완료를 안해줍니다..


문제가

웹 쇼핑몰에서 상품정보 같은거 보면 이미지랑 텍스트랑 막 섞여서 나오지 않습니까?

뭐 대충 그런식으로 구현은 했습니다...... 만

텍스트를 갑자기 스타일이 들어가야 된다고 해서

기존에 쓰던 텍스트뷰 대신에 html을 받아서 웹뷰로 뿌려주고 있습니다.


하지만 여기서..........

html에는 텍스트 폰트나 스타일 지정된게 없습니다. 색깔만 들어갑니다.

근데 이게 웹뷰 여러개를 뿌리다 보면 막 다른 웹뷰들끼리 폰트 사이즈가 제각각인 경우가 아주 가끔 생깁니다.

제생각엔 webviewclient쪽에서 뭔가 해줘야 할 것 같은데, 할만한거 다 해봐도 도저히 감이 오지 않습니다.


아래는 대략적인 소스입니다


LinearLayout contents = (LinearLayout) findViewById(R.id.productnumcontents);

for (int i = 0; i < imgs.size(); i++) {

if (imgs.get(i).length() > 1) {

ImageView iv = new ImageView(this);

iv.setImageBitmap(BitmapFactory.decodeResource(

getResources(), R.drawable.icon_140));

new DescSync(iv).execute(imgs.get(i));

contents.addView(iv);

}

if (txts.get(i).length() > 0) {

WebView wv = new WebView(this);

wv.loadDataWithBaseURL("a", txts.get(i), "text/html",

CHARACTER_SET, "");

wv.setWebViewClient(new WebSet());

contents.addView(wv);

}

}


여기까지는 xml로 파싱해온 정보를 이미지와 웹뷰로 뿌려주는 코드입니다.



class WebSet extends WebViewClient {


/*

* (non-Javadoc)

* @see

* android.webkit.WebViewClient#onLoadResource(android.webkit.WebView,

* java.lang.String)

*/

@Override

public void onLoadResource(WebView wv, String url) {

// TODO Auto-generated method stub

wv.getSettings().setDefaultZoom(ZoomDensity.FAR);

wv.getSettings().setLoadWithOverviewMode(true);

wv.getSettings().setTextSize(TextSize.NORMAL);

super.onLoadResource(wv, url);

}


/*

* (non-Javadoc)

* @see

* android.webkit.WebViewClient#onPageFinished(android.webkit.WebView,

* java.lang.String)

*/

@Override

public void onPageFinished(WebView wv, String url) {

// TODO Auto-generated method stub

wv.getSettings().setDefaultZoom(ZoomDensity.FAR);

wv.getSettings().setLoadWithOverviewMode(true);

wv.getSettings().setTextSize(TextSize.NORMAL);

super.onPageFinished(wv, url);

}


/*

* (non-Javadoc)

* @see

* android.webkit.WebViewClient#onPageStarted(android.webkit.WebView,

* java.lang.String, android.graphics.Bitmap)

*/

@Override

public void onPageStarted(WebView wv, String url, Bitmap favicon) {

// TODO Auto-generated method stub

wv.getSettings().setDefaultZoom(ZoomDensity.FAR);

wv.getSettings().setLoadWithOverviewMode(true);

wv.getSettings().setTextSize(TextSize.NORMAL);

super.onPageStarted(wv, url, favicon);

}


}


이거는 웹뷰에 세팅되는 client클래스입니다.

시작, 종료, loadresource에서 계속해서 줌과 텍스트 사이즈를 고정시키고 있습니다.



제 수준에선 도저히 이해할 수 없습니다....ㅠㅠ

고수분들의 도움이 절실히 필요할 때입니다.

안드로이드펍 irc에서 동네북을 맡고있는 퐁퐁입니다.
iOS/Android/Python/PHP
타의로 배운 기술은 잘 까먹습니다.. ㅠㅠ