2012-06-19 2 views
0

Я создал webview для моего приложения для Android, в частности, я привязываюсь, чтобы максимально упростить приложение, чтобы понять вещи. Я создал веб-просмотр, чтобы отобразить на нем другую страницу. Я просто создал кнопку, которая загружает URL-адрес в webview, который работает отлично, но веб-просмотр загружает URL-адреса под кнопкой. он не отменяет основной макет или не открывает URL-адрес на новой странице. я вижу веб-страницу в webview и кнопку над ней. как можно избавиться от этой кнопки. заранее спасибо. вот мой Java и код XMLWebview отображает его содержимое ниже основного макета

активность

public class TestinglinkActivity extends Activity { 
    final Activity activity = this; 
    WebView webview; 

    private class MyWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 


     } 
    } 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    webview = (WebView) findViewById(R.id.webview); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setWebViewClient(new MyWebViewClient()); 

    webview.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) 
     { 
      activity.setTitle("Loading..."); 
      activity.setProgress(progress * 100); 

      if(progress == 100) 
       activity.setTitle(R.string.app_name); 
     } 
    }); 


    Button btn_login = (Button) findViewById(R.id.btn_click_login); 
    btn_login.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      webview.loadUrl("http://www.google.com.pk"); 
      webview.goBack(); 
      webview.goForward(); 

      } 
     } 
    ); 


      } 




} 

XML

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:isScrollContainer="true" 
     android:scrollbarAlwaysDrawVerticalTrack="true" 
     android:scrollbarStyle="outsideInset" 
     android:scrollbars="vertical" 
     android:scrollbarSize="10dp" 
     > 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <Button 
      android:id="@+id/btn_click_login" 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      android:layout_weight="2" 
      android:text="GO"/> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 


    <TextView 
     android:id="@+id/date" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_alignParentLeft="true" 
     android:gravity="center_vertical" 
     android:lines="4" 

     /> 
    <ImageView android:id="@+id/imageBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:padding="5dp" 
     android:contentDescription="@string/hello" 
     android:layout_alignParentLeft="true" 

     /> 

</RelativeLayout> 

     <TextView 
     android:id="@+id/date" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:gravity="center_vertical" 
     android:lines="4" 

     /> 

    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 


</LinearLayout> 

</ScrollView> 

ответ

0

Это звучит для меня, как вы хотите, чтобы начать новую активность при нажатии кнопки , Причина, по которой ваш WebView отображается ниже другого макета, заключается в том, что это именно то, что описывает ваш XML. Если вы хотите, чтобы ваш WebView отображался в полноэкранном режиме, вам нужно переместить WebView в отдельное действие, которое запускается при нажатии кнопки.

Возможно, вам захочется передать URL-адрес в дополнительном намерении, используемом для запуска нового действия.

+0

Нет, я не хочу запускать новую активность, я просто хочу отобразить веб-просмотр на весь экран, когда я удаляю scrolvillview, он отлично работает. Не знаю, почему он не работает с scrollview. –

+0

Возможно, вам стоит начать новую деятельность! Ваш XML определяет все элементы, поэтому правильно, что они не волшебным образом исчезают. Если вы действительно хотите придерживаться одного действия, вы можете вызвать 'btn_login.setVisibility (View.GONE);' в своем OnClickListener и сделать то же самое для любых других видов, которые хотите исчезнуть. Вам нужно будет сделать btn_login final или использовать другой способ сделать его видимым внутри OnClickListener. – HexAndBugs

+0

Помните, что ваш макет layout_height = "fill_parent" вашего WebView игнорируется в ScrollView, поскольку это было бы бессмысленно, поскольку ScrollView фактически имеет бесконечную высоту. Вот почему в ScrollView все по-другому. – HexAndBugs

Смежные вопросы