كيف اجعل الصورة تعرض بحجم كبير في اكتيفيتي اخر؟

  • abood250

السلام عليكم

لدي صورة داخل recyclerview أريد أن أجعلها تعرض بحجم أكبر عن الضغط عليها في أكتيفيتي آخر..أرجو إرشادي بالأكواد المناسبة والطريقة؟؟

هذا كلاس الادابتر

public class GalleryAdapter extends RecyclerView.Adapter {

private List<Galleryphoto> mGallery;
private Context context;
AdapterView.OnItemClickListener OnitemClickListener;
public GalleryAdapter(Context context, List<Galleryphoto> photo) {
    this.mGallery = photo;
    this.context = context;

}


@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.gallerycontent, parent, false);

    ViewHolder viewholder = new ViewHolder(view);
    return viewholder;
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {

   // الحصول على البيانات حسب postition

    Galleryphoto gallery = mGallery.get(position);

   //وضع محتويات اللياوت هنا حسب ماستعرض

    Picasso.with(context).load(gallery.getPhoto()).resize(200, 200).into(holder.imageView);


    {


    }

    }





@Override
public int getItemCount() {
    return mGallery.size();
}

class ViewHolder extends RecyclerView.ViewHolder { ImageView imageView;

    public ViewHolder(View view) {
        super(view);


        imageView = (ImageView) view.findViewById(R.id.galleryimage);


    }

}

    }
يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

Abo_Hani أضف ردا

لديك صورة, و عند الضغط على الItem تريد الصورة أن تصبح أكبر .. أليس كذلك ؟

*أخبرني في حال فهمي لسؤالك صحيح ..

في حال صحيح هنالك طريقة, عند الضغط يمكنك وضع Click Listener للـ RecyclerView و الطريقة مختلفة, و هي متوفرة بـ Stackoverflow, أو يمكنك وضع Click Listener للـ CardView في حال انت تستخدمCardView في RecyclerView الخاصة بك .

بداخل هذا الـ Listener, يمكنك وضع intent مع putExtras مع تمرير الitem, و في الاكتفيتي الثاني, قم باستقبال الExtras و ضع if الشرطية

مثال مع ImageView, انا استخدم CardView مع RecyclerView, لذلك في الادابتر في ViewHolder قمت بتعريف الكارد فيو كالتالي :

CardView cardView;

و بداخل الكونستركتر, قمت بوضع ClickListener لـ CardView ( ملاحظة, سيتم تمرير putextras في حال تم الضغط على الItem بشكل كامل, و ليس فقط الصورة, يمكنك تعديل الClickListener على الصورة فقط ) .

 public MyRecycleViewHolder(final View itemView) {

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

                Intent i = new Intent();
                   i.putExtra("Key","String");

          view.getContext().startActivity(i);
            }
        });


 }

و في الاكتفيتي الذي يحتوي على الصورة :

   Intent result = this.getIntent();

   String testresult = result.getExtras().getString("Key");


 if(testresult.equalsIgnoreCase("String")) {


 الكود الخاص بتكبير الصورة هنا 

 }
Abo_Hani أضف ردا

لقد نسيت أمراً مهماً, و هو إلغاء التكبير, يمكنك وضع حالة شرطية أُخرى, مثلاً يضغط على زر أو يضغط على زر الرجوع, أو في دورة الحياة - onStop يمكنك وضع أمر إلغاء التكبير . ( عندما يتم الخروج من الاكتيفيتي الخاص بالتكبير, يتم تشغيل onStop الخاص به و الذي يحتوي على الكود الخاص بإلغاء التكبير ) .

في حال لديك أي سؤال, تفضل .

مجهول
  • حذف بواسطة المستخدم

اعتقد ان ال viewPager مناسب.

يوجد شرح له في هذا الرابط: