【问题标题】:set Image from ImageView to Dialog将 ImageView 中的图像设置为 Dialog
【发布时间】:2019-01-31 09:48:53
【问题描述】:

我将一个字符串 url 从 Fragment A 传递到 B,并加载到 imageView

if (obj?.signature_image?.url != null) {
            Glide.with(activity)
                .load(obj?.signature_image?.url.toString())
                .into(imgSignature)
        }

点击imgSinature时会弹出自定义对话框,我想给对话框设置图片。我该如何实现?

signDialog = Util().dialogSignature(getActivity())

 imgSignature.setOnClickListener {
            signDialog.show()
            if (obj?.signature_image?.url != null) {
                signDialog.relativeLayout2.addView(obj?.signature_image?.url)
            }
        }

实用程序

fun dialogSignature(context: Context?):Dialog{

        var dialog = Dialog(context)
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
        dialog.setContentView(R.layout.dialog_signature)
        dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);
        return dialog

    }

dialog_signature

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                             xmlns:app="http://schemas.android.com/apk/res-auto"
                                             xmlns:tools="http://schemas.android.com/tools"
                                             android:id="@+id/relativeLayout1"
                                             android:layout_width="match_parent"
                                             android:layout_height="230dp"
                                             android:orientation="vertical"
                                             android:background="@android:color/white">

    <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content"
                  android:background="@color/colorPrimaryShadow"
                  android:orientation="horizontal"
                  android:id="@+id/linearLayout1"
                  android:gravity="center"
                  android:layout_marginBottom="2dp" app:layout_constraintEnd_toEndOf="parent"
                  app:layout_constraintBottom_toTopOf="@+id/relativeLayout2" app:layout_constraintTop_toTopOf="parent"
                  app:layout_constraintStart_toStartOf="parent">

        <TextView
                android:layout_marginLeft="10dp"
                android:layout_weight="0.4"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="Place Signature"
                android:textSize="17sp"
                android:layout_gravity="right"/>

        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                  android:layout_marginRight="10dp"
                  android:id="@+id/doneTxt"
                  android:text="Done"
                  android:textColor="@color/colorDarkBlue"/>

    </LinearLayout>

    <RelativeLayout android:layout_width="0dp" android:layout_height="0dp"
                    android:id="@+id/relativeLayout2"
                    android:background="@color/colorWhite"
                    app:layout_constraintTop_toBottomOf="@+id/linearLayout1" app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintHorizontal_bias="1.0">
    </RelativeLayout>


    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
              android:layout_below="@+id/linearLayout1"
              android:textColor="@color/colorDarkBlue"
              android:text="Clear" app:layout_constraintStart_toStartOf="parent"
              android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent"
              android:layout_marginEnd="8dp" app:layout_constraintHorizontal_bias="1.0"
              android:layout_marginBottom="16dp" app:layout_constraintBottom_toBottomOf="parent"
              android:id="@+id/clearTxt"/>

</android.support.constraint.ConstraintLayout>

这行错误signDialog.relativeLayout2.addView(obj?.signature_image?.url)

类型不匹配。要求:查看!找到:字符串?

真的很烦……

看起来您的帖子主要是代码;请添加更多详细信息。

【问题讨论】:

    标签: android kotlin dialog android-relativelayout


    【解决方案1】:

    您正在尝试将 url 字符串添加到错误的视图中。 在您的relativeLayout2 中添加一个ImageView 并使用Glide 加载您的图片网址

    <RelativeLayout 
         android:layout_width="0dp" 
         android:layout_height="0dp"
         android:id="@+id/relativeLayout2"
         android:background="@color/colorWhite"
         app:layout_constraintTop_toBottomOf="@+id/linearLayout1" 
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent" 
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintHorizontal_bias="1.0">
    
        <ImageView
            android:id="@+id/your_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </RelativeLayout>
    

    在你的onClick

    imgSignature.setOnClickListener {
        ...
        Glide.with(activity)
            .load(obj?.signature_image?.url.toString())
            .into(signDialog.your_image)
    }
    

    【讨论】:

      【解决方案2】:

      您必须在dialog_signautre.xml 中添加一个ImageView,然后在第二个参数中传递signature_image?.url 并像这样设置它

          fun dialogSignature(context: Context?,url:String?):Dialog{
      
                  var dialog = Dialog(context)
                  dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
                  dialog.setContentView(R.layout.dialog_signature)
      val imgSignature = dialog.findViewById<ImageView>(your_imageview_id)//added this line
      Glide.with(activity)
                      .load(obj?.signature_image?.url.toString())
                      .into(imgSignature) //added this line
                 dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);
                  return dialog
      
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-27
        • 2011-11-20
        • 1970-01-01
        相关资源
        最近更新 更多