PDA

View Full Version : ساخت دکمه چشمک زن در برنامه نویسی اندروید



zikimiki
جمعه 02 آبان 1393, 12:53 عصر
با سلام

در برخی از برنامه ها اگه دیده باشید یک Button طراحی شده که در حالت چشمک زن به صورت اهسته وجود دارد که کاربر رو تشویق به کلیک رو اون دکمه می کنه.اغلبا" هم این دکمه ها در برنامه هایی که به صورت پرداخت درون برنامه ای هستند طراحی میشه تا کاربر با کلیک بر روی اون به صفحه خرید بره.از دوستام کسی نحوی طراحی و یا کدی برای ساختش داره؟

با تشکر

StoPpeR
جمعه 02 آبان 1393, 13:52 عصر
Button button = (Button)this.findViewById(R.id.button1);
Animation animation = new AlphaAnimation(1, 0); // بین 1 و 0 یعنی بصورت کاملا پیدا و کاملا ناپیدا
animation.setDuration(500); // مدت زمان انجام یک بار فرآیند
animation.setInterpolator(new LinearInterpolator()); // جلوگیری از تغییرات اتوماتیک انیمیشن
animation.setRepeatCount(Animation.INFINITE); // انجام دادن انیمیشن به اندازه بینهایت
animation.setRepeatMode(Animation.REVERSE); // برعکس انجام دادن انیمیشن وقتی یکبار انجام شد
button.setAnimation(animation);


توضیحات رو بقدر کافی داخل کد گذاشتم اما اگه بازم سوالی بود بپرس

zikimiki
جمعه 02 آبان 1393, 14:09 عصر
دوست عزیز بسیار از شما سپاس گزارم.
کاملا و بدون هیچ مشکلی اجرا شد.

mori_sk
یک شنبه 04 آبان 1393, 23:41 عصر
دوست عزیز خط آخر نمیدونم چرا خطا میده اینم کد من

Button b6=(Button) findViewById(R.id.button6);

b6.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(Safheavaldemo.this, BuyPremiumActivity.class));


Animation animation = new AlphaAnimation(1, 0); // بین 1 و 0 یعنی بصورت کاملا پیدا و کاملا ناپیدا
animation.setDuration(500); // مدت زمان انجام یک بار فرآیند
animation.setInterpolator(new LinearInterpolator()); // جلوگیری از تغییرات اتوماتیک انیمیشن
animation.setRepeatCount(Animation.INFINITE); // انجام دادن انیمیشن به اندازه بینهایت
animation.setRepeatMode(Animation.REVERSE); // برعکس انجام دادن انیمیشن وقتی یکبار انجام شد
Button.setAnimation(animation);

}
});

sobhan1990
یک شنبه 04 آبان 1393, 23:57 عصر
دوست عزیز ان کدها را خارج از onClick قرار بده. در زیر تعریف دکمه؛ یعنی به صورت زیر بنویس:



Button b6=(Button) findViewById(R.id.button6);

Animation animation = new AlphaAnimation(1, 0); // بین 1 و 0 یعنی بصورت کاملا پیدا و کاملا ناپیدا
animation.setDuration(500); // مدت زمان انجام یک بار فرآیند
animation.setInterpolator(new LinearInterpolator()); // جلوگیری از تغییرات اتوماتیک انیمیشن
animation.setRepeatCount(Animation.INFINITE); // انجام دادن انیمیشن به اندازه بینهایت
animation.setRepeatMode(Animation.REVERSE); // برعکس انجام دادن انیمیشن وقتی یکبار انجام شد
b6.setAnimation(animation);






b6.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(Safheavaldemo.this, BuyPremiumActivity.class));





}
});





در خط آخر اسم دکمه را هم اشتباه نوشته بودی.

zikimiki
دوشنبه 05 آبان 1393, 00:00 صبح
دوست عزیز خط آخر نمیدونم چرا خطا میده اینم کد من

Button b6=(Button) findViewById(R.id.button6);

b6.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(Safheavaldemo.this, BuyPremiumActivity.class));


Animation animation = new AlphaAnimation(1, 0); // بین 1 و 0 یعنی بصورت کاملا پیدا و کاملا ناپیدا
animation.setDuration(500); // مدت زمان انجام یک بار فرآیند
animation.setInterpolator(new LinearInterpolator()); // جلوگیری از تغییرات اتوماتیک انیمیشن
animation.setRepeatCount(Animation.INFINITE); // انجام دادن انیمیشن به اندازه بینهایت
animation.setRepeatMode(Animation.REVERSE); // برعکس انجام دادن انیمیشن وقتی یکبار انجام شد
Button.setAnimation(animation);

}
});


سلام

خط اخر رو از

Button.setAnimation(animation);
به
b6.setAnimation(animation);

تغییر بدید.

mori_sk
دوشنبه 05 آبان 1393, 00:34 صبح
سلام

خط اخر رو از

Button.setAnimation(animation);
به
b6.setAnimation(animation);

تغییر بدید.

کد های انیمیشن باید خارج از onClickباشن ؟

StoPpeR
دوشنبه 05 آبان 1393, 11:38 صبح
کد های انیمیشن باید خارج از onClickباشن ؟

شما در onclick مشخص می کنین وقتی روی دکمه کلیک شد چه اتفاقی بیفته در صورتی که می خواین این چشمک زدن قبل از کلیک کردن باشه پس باید بیرون از onClick باشه

milad2067
شنبه 24 آبان 1393, 04:15 صبح
با سلام خدمت دوستان عزیز...

ببخشید این انیمیشن بیشتر برای چه قسمت هایی کاربرد داره؟ این انیمیشن رو برای دکمه ای که هیچ عملی انجام نمیده به درستی دیده میشه اما در کاستوم دیالوگ گذاشتم اصلا به چشم نمیاد. ممنون میشم اگه راهنمایی کنید...

با تشکر...

milad2067
یک شنبه 25 آبان 1393, 02:22 صبح
با سلام خدمت دوستان عزیز...

ببخشید این انیمیشن بیشتر برای چه قسمت هایی کاربرد داره؟ این انیمیشن رو برای دکمه ای که هیچ عملی انجام نمیده به درستی دیده میشه اما در کاستوم دیالوگ گذاشتم اصلا به چشم نمیاد. ممنون میشم اگه راهنمایی کنید...

با تشکر...


دوستان عزیز کسی نبود راهنمایی کنه؟

بازم ممنون...

tux-world
یک شنبه 25 آبان 1393, 09:02 صبح
تو دیالوگ های عادی اندروید نمیتونین استفاده کنید ازش ولی این که میگین تو کاستوم دیالوگ. کد دیالوگی که نوشتید رو بزارید ببینیم

milad2067
دوشنبه 26 آبان 1393, 02:09 صبح
تو دیالوگ های عادی اندروید نمیتونین استفاده کنید ازش ولی این که میگین تو کاستوم دیالوگ. کد دیالوگی که نوشتید رو بزارید ببینیم

final Dialog dialog = new Dialog(ActivitySeason.this);
dialog.getWindow().requestFeature(Window.FEATURE_N O_TITLE);
dialog.setContentView(R.layout.dialog);

TextView textCaption = (TextView) dialog.findViewById(R.id.txtTitle);
textCaption.setText("خروج");

TextView text = (TextView) dialog.findViewById(R.id.txtCaption);
text.setText("آیا می خواهید از برنامه خارج شوید؟");

ImageView image = (ImageView) dialog.findViewById(R.id.imgLogo);
image.setImageResource(R.drawable.ic_launcher);


dialog.findViewById(R.id.btnDialogNo).setOnClickLi stener(new OnClickListener() {

@Override
public void onClick(View arg0) {
dialog.findViewById(R.id.btnDialogNo).setAnimation (animation);
dialog.dismiss();
}
});

dialog.findViewById(R.id.btnDialogYes).setOnClickL istener(new OnClickListener() {

@Override
public void onClick(View arg0) {
dialog.findViewById(R.id.btnDialogYes).setAnimatio n(animation);
finish();
}
});
dialog.show();


خدمت شما...

tux-world
دوشنبه 26 آبان 1393, 11:14 صبح
اوکی تست میکنم خبر میدم

milad2067
شنبه 01 آذر 1393, 18:39 عصر
اوکی تست میکنم خبر میدم

سلام مجدد...

خبری نشد استاد ؟