PDA

View Full Version : سوال در مورد استفاده از دکمه فیزیکی ولوم در پروژه



Hadi.Me
دوشنبه 27 آبان 1392, 06:54 صبح
سلام دوستان

من میخوام توی برنامم از دکمه ولوم استفاده ای غیر از تغییر صدا داشته باشم. (برای ولوم+ یه کار و ولوم- یه کار دیگه انجام بشه)
باید چی کار کنم؟

rubiks.kde
دوشنبه 27 آبان 1392, 10:30 صبح
مثل این مثال تابع onKeyDown رو پیاده کنید و شما بجای کلید منو(چیزی که من استفاده کردم) هر کلیدی رو که خواستید بنویسید.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_MENU){
pageIndicator.setCurrentItem(0);
return true;
}
return super.onKeyDown(keyCode, event);
}

Hadi.Me
دوشنبه 27 آبان 1392, 15:53 عصر
و یه سؤال دیگه هم دارم:

برای اینکه مربع یه check box یا radio button رو (به خاطر فارسی نویسی) بیارمش سمت راست باید چیکار کنم؟

rubiks.kde
دوشنبه 27 آبان 1392, 18:30 عصر
برای این من یک مثال براتون آماده کردم که میتونید استفاده کنید.

دانلود (http://s3.picofile.com/file/8100860484/radio.rar.html)

Hadi.Me
یک شنبه 03 آذر 1392, 15:55 عصر
مثل این مثال تابع onKeyDown رو پیاده کنید و شما بجای کلید منو(چیزی که من استفاده کردم) هر کلیدی رو که خواستید بنویسید.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_MENU){
pageIndicator.setCurrentItem(0);
return true;
}
return super.onKeyDown(keyCode, event);
}

من همینطوری عمل کردم و به جای دکمه منو از دکمه ولوم استفاده کردم؛ موقع اجرای برنامه، وقتی ولوم +یا- رو میزدم علاوه بر کاری که من تعیین کرده بودم، ولوم دستگاه هم کم و زیاد می شد.
الآن من باید چی کار کنم که فقط کاری که من تعیین کردم انجام بشه (و صدای دستگاه تغییر نکنه)؟

rubiks.kde
یک شنبه 03 آذر 1392, 16:05 عصر
بجای super.onKeyDown(keyCode, event); یا true یا false قرار بدید ببینید درست میشه یا نه

Hadi.Me
پنج شنبه 07 آذر 1392, 02:48 صبح
بجای super.onKeyDown(keyCode, event); یا true یا false قرار بدید ببینید درست میشه یا نه

با true حل شد (دیگه صدای دستگاه کم و زیاد نمیشه) ولی هنوز اون صدای بوقی که موقع کم و زیاد کردن صدا میومد سر جاشه!

FastCode
پنج شنبه 07 آذر 1392, 02:56 صبح
نمیدونمjackpal (Jack Palevich) (https://github.com/jackpal) چکار کرده ولی توی برنامه ی terminal emulator چنین کاری انجام داده و میتونید سورسش رو از github بگیرید و بخونید.

Hadi.Me
جمعه 08 آذر 1392, 15:33 عصر
نمیدونمjackpal (Jack Palevich) (https://github.com/jackpal) چکار کرده ولی توی برنامه ی terminal emulator چنین کاری انجام داده و میتونید سورسش رو از github بگیرید و بخونید.


خیلی ممنون.
سورسشو گرفتم یه نیگا انداختم وحشت کردم! اگه کسی بلده یه کم سطحشو بیاره پایین (زیر دیپلم بگه!!!) ما هم بفهمیم!

Hadi.Me
دوشنبه 11 آذر 1392, 16:51 عصر
دوستان، پروژم لنگ همینه لطفا یکی توضیح بده

rubiks.kde
دوشنبه 11 آذر 1392, 18:54 عصر
دوستان، پروژم لنگ همینه لطفا یکی توضیح بده

بیا دوست عزیز بجای کد قبلی از این استفاده کن.من تست کردم درست جواب داد شما هم تست کنید.

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int keyCode = event.getKeyCode();
if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
if (event.getAction() == KeyEvent.ACTION_UP){
// your code
Log.i("saeed", "KEYCODE_VOLUME_UP");
}
return true;
}else if(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
if (event.getAction() == KeyEvent.ACTION_UP){
// your code
Log.i("saeed", "KEYCODE_VOLUME_DOWN");
}
return true;
}
return super.dispatchKeyEvent(event);
}

Hadi.Me
چهارشنبه 13 آذر 1392, 17:33 عصر
بیا دوست عزیز بجای کد قبلی از این استفاده کن.من تست کردم درست جواب داد شما هم تست کنید.

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int keyCode = event.getKeyCode();
if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
if (event.getAction() == KeyEvent.ACTION_UP){
// your code
Log.i("saeed", "KEYCODE_VOLUME_UP");
}
return true;
}else if(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
if (event.getAction() == KeyEvent.ACTION_UP){
// your code
Log.i("saeed", "KEYCODE_VOLUME_DOWN");
}
return true;
}
return super.dispatchKeyEvent(event);
}

توی این کدها اونجا که نوشته «......log i» کارش چیه؟

rubiks.kde
چهارشنبه 13 آذر 1392, 18:22 عصر
کلاس Log یه ابزاری توی آندورید هست برای چک کردن قسمت های مختلف کد.الان زمانی که به اون خط میرسه یه پیغام توی logcat چاپ میشه و من میفهمم که کدم درست اجرا شده.