2016-06-13 6 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 View или Dialog view.? – 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

Вы можете рассчитать ширину и высоту экрана и можете передать это вместо wish_width и wish_height, поэтому диалог будет охватывать всю ширину экрана – Nitesh

+0

для стиля установки, вы можете объявить стиль в папке значений и можете установить его в диалоговом окне как диалог .setStyle (STYLE_NO_TITLE, R.style.DialogStyle); – Nitesh

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