2010-07-30 10 views
0


화면 중간의 활동에 WebView를 표시하는 동안 문제가 발생합니다. 활동이있어서 화면 중앙에 웹보기를 표시하고 싶습니다. 내 활동이 투명하기 때문에 백그라운드 활동을 볼 수 있습니다. webview를 만들고 setContentView (webview)를 사용하여 활동에 추가하려고 할 때마다 항상 화면의 왼쪽 상단에보기가 표시됩니다. 이 문제를 해결하는 방법은 무엇입니까? 순수한 코드를 통해서만이 작업을 수행하려고합니다. 여기 내 코드가있다. 화면 중간의 활동 내에서 웹보기를 표시하는 방법

protected void onCreate(Bundle savedInstance) { 
    //some initialization stuff 
    LinearLayout ll = new LinearLayout(activity); 
    ll.setOrientation(LinearLayout.VERTICAL); 
    ll.setGravity(Gravity.CENTER_HORIZONTAL); 
    ll.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 
         ViewGroup.LayoutParams.FILL_PARENT)); 
    ll.setBackgroundColor(android.R.color.transparent); 
    ll.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); //added after suggestion 
    webView = new WebView(this); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setBuiltInZoomControls(true); 
    webView.loadUrl(" http://www.google.com "); 
    ll.addView(webView); 
    webView.setBackgroundColor(android.R.color.transparent); 
    setContentView(ll); 
}
.

답변

1

setContentView(webview), webView를 param으로 전달 하시겠습니까? 레이아웃 리소스에 대한 ID 여야합니다. 아니면 addView을 의미합니까?

gravity="center_horizontal|center_vertical" 

코드를 입력하십시오 :

당신은 레이아웃 리소스에 웹보기를 배치하고 layout_gravity 속성을 추가해야

,

layout_gravity="center_horizontal|center_vertical" 

및/또는 주변의 LinearLayout 또는 당신이 사용하는 어떤

에 더 명확히하기 위해.

+1

나는 코드로 질문을 업데이트했다. 중력이 잘 작동하고 있습니다. WebView는 그 중심에 있습니다. 페이지 크기를로드하는 것과 관계없이 크기를 300x200으로 제한 할 수있는 방법이 있으며 콘텐츠의 나머지 부분이 잘 리거나 가로/세로 스크롤바가 표시 될 수 있습니다. 감사! – bhups

+0

예, 주위의 LinearLayout 또는 WebView 자체에 대해 setLayoutParams를 통해 설정할 수 있습니다. ViewGroup.LayoutParams.FILL_PARENT 대신 : LinearLayout.LayoutParams params = new LinearLayout.LayoutParams (300, 200); ll.setLayoutParams (params); –

관련 문제