1

は、私はすでに私がそこに画像があると私はの画像をクリックする時期があり、すべてのrecyclerview行のダイアログ(カスタムダイアログ)を設定したいrecycleviewonBindView Holder方法があるrecyclerViewする作成しましたrecyclerview下から同じ画像でダイアログが来て、どこかをクリックするとダイアログが下がるはずです。RecyclerView onBindviewholderダイアログclicklistnerアニメーション

注:データはrecylerviewに来てボレーライブラリからです

+0

あなたはあなたの答えは、私のコードのために正常に動作し、私にアダプタ –

答えて

1

まずカスタムダイアログを作成する必要があります。

dialog_image.xml

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:background="@color/white" 
    android:layout_width="260dp" 
    android:layout_height="270dp"> 

    <ImageView 
     android:id="@+id/dialog_iv" 
     android:layout_width="260dp" 
     android:layout_height="260dp" 
     /> 

</LinearLayout> 

OnbindViewHolder()アダプタのクラス:

<style name="DialogAnimation_2"> 
    <item name="android:windowEnterAnimation">@anim/slide_up_dialog</item> 
    <item name="android:windowExitAnimation">@anim/slide_out_down</item> 
</style> 

holder.medPic.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       final Dialog dialogi = new Dialog(context); 
       dialogi.requestWindowFeature(Window.FEATURE_NO_TITLE); 
       dialogi.setCancelable(true); 
       dialogi.setContentView(R.layout.dialog_image); 
       // dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 


       ImageView dialogIv = (ImageView)dialogi.findViewById(R.id.dialog_iv); 


       Picasso.with(context) 
         .load(data.get(position).getMedicine_img_url().replace(" ","%20").trim()) 
         .into(dialogIv); 
       dialogi.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation_2; //style id 
       dialogi.show(); 

       dialogIv.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View view) { 
         dialogi.dismiss(); 
        } 
       }); 


      } 
     }); 
    } 

Style.xmlでは、このコードを入れてください

内のresフォルダアニメーションを作成し、アニメーション内フォルダが2つのアニメーションのresファイルを置く:

slide_up_dialog:

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate 
    android:duration="@android:integer/config_mediumAnimTime" 
    android:fromYDelta="100%" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:toXDelta="0"> 
</translate> 

slide_out_down:

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate 
    android:duration="@android:integer/config_mediumAnimTime" 
    android:fromYDelta="0%p" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:toYDelta="100%p"> 
</translate> 

+1

感謝のあなたのコードを表示することができます。 @Abhishekクマール – krchandra

関連する問題