2016-06-13 144 views
0

在彈出窗口上顯示viewpager時遇到問題。 想要在一個實際上是一個彈出窗口的viewpager上顯示多個圖像。但無法刪除窗戶的側面空間。 enter image description here在彈出窗口中顯示viewpager

Viewpager

<android.support.v4.view.ViewPager 
android:id="@+id/pager" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
xmlns:android="http://schemas.android.com/apk/res/android" /> 

ImageView的

<com.utility.TouchImageView 
android:id="@+id/imgDisplay" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:scaleType="fitCenter" 
xmlns:android="http://schemas.android.com/apk/res/android" /> 
+0

請上傳您的佈局xml –

+0

您使用的是popupWindow查看或對話視圖。用 – Nitesh

+0

代替PopupWindow使用DialogFragment。 – Amir

回答

2

試試這個它會刪除側的空間,並顯示您的對話框,全屏顯示(無側邊)

window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 

以上是最重要的,不要錯過包括它。

final Dialog dialog = new Dialog(getActivity(), R.style.DialogAnimation); 
dialog.getWindow().getAttributes().windowAnimations = 
     R.style.DialogOpenAnimation; 

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setCanceledOnTouchOutside(false); 
dialog.setCancelable(true); 
dialog.setContentView(R.layout.dialog_mediagallary); 

ImageButton back_arrow = (ImageButton) dialog.findViewById(R.id.back); 
viewPagerPhotoSlideShow = (ClickableViewPager) dialog.findViewById(R.id.photolist); 
adapterPhotoViewPager = new AdaterViewPagerAllmeidagallary(getActivity(), pagerListItems); 
viewPagerPhotoSlideShow.setAdapter(adapterPhotoViewPager); 
viewPagerPhotoSlideShow.setCurrentItem(defaultPagerItemPosition); 
back_arrow.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     dialog.dismiss(); 
    } 
}); 

WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); 
lp.copyFrom(dialog.getWindow().getAttributes()); 
lp.width = WindowManager.LayoutParams.MATCH_PARENT; 
lp.height = WindowManager.LayoutParams.MATCH_PARENT; 
lp.gravity = Gravity.CENTER; 

Window window = dialog.getWindow(); 
window.setAttributes(lp); 
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); 
dialog.show(); 
+0

精湛的感謝兄弟 –

+0

不客氣。 –

+0

感謝maddy..works喜歡魅力 –

1

如果您正在使用含viewpager

要麼你可以將以下樣式設置爲對話的對話作爲

dialog.setStyle(STYLE_NO_TITLE, R.style.DialogStyle); 

DialogStyle

<style name="DialogStyle" parent="Base.Theme.AppCompat.Dialog"> 
    <item name="android:windowMinWidthMajor">100%</item> 
    <item name="android:windowMinWidthMinor">100%</item> 

</style> 

或者你可以canculate屏幕的寬度並傳遞給對話框寬度

Dialog dialog = new Dialog(MainActivity.this); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
popUpLayout = Globals.layoutInflater.inflate(R.layout.pop_up_layout, 
     null); 
dialog.setContentView(popUpLayout); 
dialog.getWindow().setLayout(Desired_Width, Desired_Hight); 
dialog.show(); 
+0

如何使用樣式?我應該輸入什麼寬度和高度? –

+0

您可以計算屏幕寬度和高度,並可以通過它來代替desired_width和desired_height,因此對話框將覆蓋屏幕的完整寬度 – Nitesh

+0

,您可以在值文件夾中聲明樣式並將其設置爲對話框作爲對話框.setStyle(STYLE_NO_TITLE,R.style.DialogStyle); – Nitesh