검색결과 리스트
Android WebView에 해당되는 글 1건
- 2012.02.29 [Android] ScrollView 와 WebView
글
스크롤 뷰는 프레임 레이아웃의 하위 클래스이다.
말 그대로 이는 한 화면에 나타내지 못하는 내용들을 보여주기 위해서 이용하는 뷰이다.
예제 코드는 다음과 같다.
XML
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scr"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ScrollView>
Java
package imageview.test;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
public class ImageViewActivity extends Activity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ScrollView svw = (ScrollView)findViewById(R.id.scr);
svw.addView(new ColorView(this));
}
}
class ColorView extends View{
String m_Text="";
public ColorView(Context context){
super(context);
}
public void onDraw(Canvas canvas){
Paint pnt = new Paint();
for(int i=0;i<1024;i+=4){
pnt.setARGB(255, 255-i/4, 255-i/4, 255);
canvas.drawRect(0, i,500,i+4,pnt);
}
}
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
setMeasuredDimension(500,1024);
}
}
다음은 웹뷰이다.
웹뷰는 C#으로 친다면 WebBrowser 와 같은 역할이다.
간단한 테스트 코드를 보자면 다음과 같다.
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="go"
/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="back"
/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="forward"
/>
<Button
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="local"
/>
</LinearLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" >
<WebView
android:id="@+id/web"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible">
</WebView>
</LinearLayout>
</FrameLayout>
</LinearLayout>
다음은 자바 코드이다.
package imageview.test;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.*;
public class ImageViewActivity extends Activity{
WebView web;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
web = (WebView)findViewById(R.id.web);
web.setWebViewClient(new webClient());
WebSettings set = web.getSettings();
set.setJavaScriptEnabled(true);
set.setBuiltInZoomControls(true);
web.loadUrl("http://www.google.com");
}
class webClient extends WebViewClient{
public boolean shouldOverriderUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
}
}
RECENT COMMENT