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);
}
.
나는 코드로 질문을 업데이트했다. 중력이 잘 작동하고 있습니다. WebView는 그 중심에 있습니다. 페이지 크기를로드하는 것과 관계없이 크기를 300x200으로 제한 할 수있는 방법이 있으며 콘텐츠의 나머지 부분이 잘 리거나 가로/세로 스크롤바가 표시 될 수 있습니다. 감사! – bhups
예, 주위의 LinearLayout 또는 WebView 자체에 대해 setLayoutParams를 통해 설정할 수 있습니다. ViewGroup.LayoutParams.FILL_PARENT 대신 : LinearLayout.LayoutParams params = new LinearLayout.LayoutParams (300, 200); ll.setLayoutParams (params); –