2017-02-07 3 views
0

ТребованиеПользовательские изображения Диалог макет

Я хочу показать изображение в пользовательском диалоге с границы и кнопки закрытия, и ImageView является TouchImageView для увеличения/уменьшения масштаба функции. как этот

https://i.stack.imgur.com/nN1jJ.jpg

Я Пытался

Я перепробовал много способов за границу, но не получить решение.

Мой код

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

    <com.android.example.view.TouchImageView 
     android:id="@+id/imageSingleImage" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@mipmap/ic_launcher" /> 
</RelativeLayout> 

Использование @ user2025187 кода я получил это выход

https://i.stack.imgur.com/Cv6Ph.png

Я нажав на это изображение

https://i.stack.imgur.com/LA8Uc.png

+0

уже граничат эффект на изображении. в чем проблема? –

+0

Мне нужен такой тип диалога –

ответ

1

Это простая вещь, которую вы можете найти в Google.

создать файл макета в вытяжке папку и добавить ниже код, как rectangle.xml

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#FFFFFF" /> 
<stroke android:width="1dp" android:color="#000000" /> 
<padding android:left="1dp" android:top="1dp" android:right="1dp" 
android:bottom="1dp" /> 

создать файл макета и добавить XML. ex -dialog.xml

<?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" > 

<com.android.example.view.TouchImageView 
    android:id="@+id/imageDialog" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="6dp" 
    android:background="@drawable/rectangle"/> 

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

<Button 
    android:id="@+id/declineButton" 
    android:layout_width="100px" 
    android:layout_height="wrap_content" 
    android:text=" Submit " 
    android:layout_marginTop="5dp" 
    android:layout_marginRight="5dp" 
    android:layout_below="@+id/textDialog" 
    android:layout_toRightOf="@+id/imageDialog" 
    /> 

    </RelativeLayout> 

Добавить код ниже в вашем java-файле, и ваше диалоговое окно будет готово.

  final Dialog dialog = new Dialog(CustomDialog.this); 
      // Include dialog.xml file 
      dialog.setContentView(R.layout.dialog); 
      // Set dialog title 
      dialog.setTitle("Custom Dialog"); 

      // set values for custom dialog components - text, image and button 
      TextView text = (TextView) dialog.findViewById(R.id.textDialog); 
      text.setText("Custom dialog Android example."); 
      ImageView image = (ImageView) dialog.findViewById(R.id.imageDialog); 
      image.setImageResource(R.drawable.image0); 

      dialog.show(); 

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

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

+0

граница не для просмотра изображений, это для dailog –

+0

для создания границы используйте это https://github.com/Grishu/Custom-Dialog –

1

Попробуйте это,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:layout_margin="10dp"> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:layout_margin="10dp" 
    android:background="@color/colorWhite"> 

    <com.android.example.view.TouchImageView 
     android:id="@+id/iv_imageSingleImage" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:contentDescription="@string/contentDescription" 
     android:padding="5dp" /> 

</RelativeLayout> 

<ImageView 
    android:id="@+id/iv_close" 
    android:layout_width="30dp" 
    android:layout_height="30dp" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/ic_cross" /> 
</RelativeLayout>