PDA

View Full Version : مشکل در انیمیشن چرخش آیتم های گرید ویو



mohammad-de
دوشنبه 03 فروردین 1394, 12:01 عصر
سلام دوستان و اساتید محترم

من اومدم بره آیتم های گرید ویوم انیمیشن چرخش گزاشتم و همه چیز درسته فقط الان وقتی یک آیتم رو انتخاب میکنم کل آیتم میچرخه یعنی تکست ویو و عکس آیتم با هم میچرخن.
میخوام با انتخاب آیتم ها فقط عکس آیتم بچرخه و متنش ثابت بمونه. ممنون میشم راهنمایی کنید
اینم کد کامل :



//set grid view item
Bitmap q = BitmapFactory.decodeResource(this.getResources(), R.drawable.brb);
Bitmap w = BitmapFactory.decodeResource(this.getResources(), R.drawable.arch);
Bitmap e = BitmapFactory.decodeResource(this.getResources(), R.drawable.gnt);
Bitmap r = BitmapFactory.decodeResource(this.getResources(), R.drawable.gob);
Bitmap t = BitmapFactory.decodeResource(this.getResources(), R.drawable.wiz);
Bitmap y = BitmapFactory.decodeResource(this.getResources(), R.drawable.bal);
Bitmap u = BitmapFactory.decodeResource(this.getResources(), R.drawable.wb);
Bitmap i = BitmapFactory.decodeResource(this.getResources(), R.drawable.pek);
Bitmap o = BitmapFactory.decodeResource(this.getResources(), R.drawable.drag);
Bitmap p = BitmapFactory.decodeResource(this.getResources(), R.drawable.five_10_1);



gridArray.add(new Item(q," BARBARIAN"));
gridArray.add(new Item(w," ARCHER "));
gridArray.add(new Item(e," hgj "));
gridArray.add(new Item(r," jghj "));
gridArray.add(new Item(t," hgj"));
gridArray.add(new Item(y,"ghjgh "));
gridArray.add(new Item(u," jghj"));
gridArray.add(new Item(i,"ghjghj "));
gridArray.add(new Item(o,"hgjhgjbnkjhhhhhhhhjkhjkhjkhjkhjkhjkhjkhkhjkhjkhjkh jkhjkhjkhjkhjkghjghj "));
gridArray.add(new Item(p,"ghjgh "));





gridView = (GridView) findViewById(R.id.gridView1);
customGridAdapter = new CustomGridViewAdapter(this, R.layout.row_grid, gridArray);
gridView.setAdapter(customGridAdapter);


gridView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, final View arg1, final int arg2, long arg3) {
rotateAnimation(arg1);
arg1.postDelayed(new Runnable() { public void run() {
Intent intent = new Intent();
switch(arg2){

case 0:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 1:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 2:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 3:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 4:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 5:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 6:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 7:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 8:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 9:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
case 10:
intent.setClass(arg1.getContext(), qqqqqq.class ); startActivity(intent); break;
}}}, 2000);
}

});
}
private void rotateAnimation(View view) {

Animation animation = AnimationUtils.loadAnimation(getApplicationContext (), R.anim.rotate);

view.startAnimation(animation);
}
}

#root#
دوشنبه 03 فروردین 1394, 12:20 عصر
اگر انیمیشن رو داخل adapter تون پیاده کنید به احتمال زیاد مشکلتون حل میشه.

atpf67
چهارشنبه 05 فروردین 1394, 03:42 صبح
سلام بزرگوار

فکر میکنم اشکال در اینجاست که میاین کل سلول گریدویو رو به عنوان ویو مورد نظر به متد rotateAnimation(view) می فرستید و در نهایت انیمیشن روی کل این سلول اجرا میشه.

برای اینکه انیمیشن فقط روی عکس اجرا بشه ابتدا به شی ء image تون یک id بدین و به صورت زیر عمل کنید:

rotateAnimation(arg1.findViewById(R.id.myPicture)) ;

موفق باشید- یا علی