0

Uygulamamda tüm ekranı kaplamak istediğim bir iletişim parçam var. Benim özel düzen genişletmek ve bu iletişim kutusuna görüşlerini eklemek istediğiniz benim fragman gerektiğinden dinamik ben aşağıdaki kodu yazdım: -Web Görünümü, tüm iletişim penceresini Android'de tutuyor

my_dialog.xml benim iletişim java sınıf I içeride Şimdi

<?xml version="1.0" encoding="utf-8"?> 
<com.example.MyDialogRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/dialogRootLayout" 
    android:orientation="vertical" 
    android:background="#FFFFFF" 
    > 

</com.example.MyDialogRelativeLayout> 

yazdı: -

MyDialogFragment.java

public class MyDialogFragment extends DialogFragment { 

    WebView webView; 
    MyDialogRelativeLayout dialogLayout; 
    String url; 



    public MyDialogFragment(String url) 
    { 
     this.url = url; 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 

     View rootView = inflater.inflate(R.layout.my_custom_dialog,container, false); 


     dialogLayout = (MyDialogRelativeLayout) rootView.findViewById(R.id.dialogRootLayout); 

     return rootView; 
    } 


    @Override 
    public void onStart() { 
     // TODO Auto-generated method stub 
     super.onStart(); 
     DisplayMetrics dm = new DisplayMetrics(); 
     getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); 
     int height = dm.heightPixels; 
     int width = dm.widthPixels; 
     Log.d("Dialog","Height = "+height+" Widht = "+width); 
     getDialog().getWindow().setLayout(width-50,height); 


     RelativeLayout.LayoutParams paramsWeb = new RelativeLayout.LayoutParams(width,height); 
     final WebView wv = new WebView(getActivity()); 
     wv.getSettings().setJavaScriptEnabled(true); 
     wv.loadUrl(url); 

     wv.setWebViewClient(new WebViewClient(){ 

      @Override 
      public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) 
       { 
        wv.loadUrl("file:///android_res/raw/nointernet.html"); 
       } 
      }); 
     dialogLayout.addView(wv,paramsWeb); 


     RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
     params.addRule(RelativeLayout.ALIGN_PARENT_TOP); 

     Button closeButton = new Button(getActivity()); 
     closeButton.setText("Close"); 
     closeButton.setBackground(null); 
     dialogLayout.addView(closeButton,params); 


     closeButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       getDialog().dismiss(); 

      } 
     }); 


    } 



    public class myWebViewClient extends WebViewClient{ 



     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      // TODO Auto-generated method stub 
      super.onPageStarted(view, url, favicon); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 
      view.loadUrl(url); 
      return true; 
     } 


    } 

Benim sorunum, web görünümünün, ekrana çizilen iletişim kutusunun tüm penceresini kapatmamasıdır. İletişim kutusunun üstünde siyah bir katman/alan var ve web görünümü bunun altında.

En üstteki siyah kısımdan kurtulmak ve web görünümünün tüm iletişim kutusunu doldurması nasıl sağlanır?

cevap

0

da fragmanı sınıf içinde genişliği ve yüksekliği ayarlamak için aşağıdaki kullanın: fragmanı sınıfında siyah kısmı (başlık) çıkarmak için getDialog().getWindow().setLayout(width, height);

aşağıdaki kullanmaktadır: getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);

İlgili konular