2016-05-30 2 views
0

Я показываю изображение в диалоговом окне, которое также содержит вид масштабирования. Здесь изображение помещается, а зум работает нормально без каких-либо проблем, но проблема заключается в том, что изображение всегда помещается в верхнюю часть диалогового окна, и если я прокручиваю вниз, он приближается к середине, а затем происходит увеличение. Я не хочу, как это, вместо этого изображение должно отображаться посередине, и мне нужно сделать масштабирование.изображение всегда помещено в начало диалога

Я использую динамическое изображение и для увеличения, используя библиотеку photoview chrisbanes. Если я удалю библиотеку, изображение будет помещено в центр.

@Override 
      public void onClick(View v) { 

       Dialog builder = new Dialog(listdisplay, android.R.style.Theme_Black_NoTitleBar_Fullscreen); 
       builder.requestWindowFeature(Window.FEATURE_NO_TITLE); 
       builder.getWindow().setBackgroundDrawable(
         new ColorDrawable(Color.BLACK)); 
       builder.setCanceledOnTouchOutside(false); 
       builder.setOnDismissListener(new DialogInterface.OnDismissListener() { 
        @Override 
        public void onDismiss(DialogInterface dialogInterface) { 
         //nothing; 
        } 
       }); 

ImageView imageView = new ImageView(listdisplay); 
         Glide.with(finalConvertView.getContext()).load(Limage).fitCenter() 
       .diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView); 

       DisplayMetrics metrics = new DisplayMetrics(); 
       listdisplay.getWindowManager().getDefaultDisplay().getMetrics(metrics); 


       LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(metrics.widthPixels, 
         metrics.heightPixels); 

       imageView.setLayoutParams(lp); 

       //imageView.setScaleType(ImageView.ScaleType.CENTER); 
       p = new PhotoViewAttacher(imageView); 


       builder.addContentView(imageView, lp); 
       builder.show(); 
      } 
     }); 

Я пробовал с помощью scaletype для просмотра изображений как центр, но изображение находится в верхней части диалогового окна.

enter image description here

enter image description here

+0

почему didt вы создаете свой собственный диалог? –

+0

Не могли бы вы уточнить свой вопрос? – user2269164

ответ

0

Использовать пользовательский диалог для вас есть диалоговое дизайн

  final Dialog dialog = new Dialog(context); 
      dialog.setContentView(R.layout.custom); 
      dialog.setTitle("Title..."); 

      // set the custom dialog components - text, image and button 
      TextView text = (TextView) dialog.findViewById(R.id.text); 
      text.setText("Android custom dialog example!"); 
      ImageView image = (ImageView) dialog.findViewById(R.id.image); 
      image.setImageResource(R.drawable.ic_launcher); 

      Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); 
      // if button is clicked, close the custom dialog 
      dialogButton.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        dialog.dismiss(); 
       } 
      }); 

      dialog.show(); 

Планировка:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="5dp" /> 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#FFF" 
     android:layout_toRightOf="@+id/image"/>/> 

    <Button 
     android:id="@+id/dialogButtonOK" 
     android:layout_width="100px" 
     android:layout_height="wrap_content" 
     android:text=" Ok " 
     android:layout_marginTop="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_below="@+id/image" 
     /> 

</RelativeLayout>