2017-02-08 6 views
-1

Я создал уведомление для пользовательского xml, и я могу успешно зарегистрировать события кликов.Как изменить изображение на кнопку пользовательского уведомления?

remoteViews.setOnClickPendingIntent(R.id.notif_button, pendingIntent); 

У меня также есть приемник вещания, который принимает событие onclick, без проблем.

Как вы можете видеть, это событие срабатывает раз когда пользователь релизы кнопку. Мне нужно событие, которое срабатывает каждый раз, когда пользователь прикасается к кнопке, поэтому я могу ее изменить. Как каждая кнопка в Android.

Настройка селекторов в xml не работает. Я попробовал этот пример:

https://developer.android.com/reference/android/widget/ImageButton.html

Это должно быть возможным, так как некоторые музыкальные проигрыватели реализованы такое поведение. Любые идеи для достижения этого?

ответ

0

Как вы можете видеть, это событие срабатывает один раз, когда пользователь отпускает кнопку.

Это потому, что это то, что считается «щелчком» -> прикоснуться, а затем коснуться того же объекта. Если вы касаетесь кнопки, держите ее на экране, но выходите из нее и отпустите, тогда щелчок не будет запущен. Вот почему он работает именно так.

мне нужно событие, которое стреляет каждый раз, когда пользователь прикасается к кнопке

Вы cannnot иметь это. К счастью.

Настройка селекторов в XML не работает

селекторы не для этого.

+0

"Вы не можете иметь это счастью." - мне нужно что-то вроде простого onTouchListener. Однако можно изменить кнопку в событии ontouch с помощью пользовательского уведомления, но я не знаю, как это сделать. – andras

+0

Нет слушателей. Все, что у вас есть, это 'PendingIntent'. Когда он уволен, дело не в вас. –

-1

Создайте собственное уведомление ... определите свой xmls, добавьте свои селекторы и фон, создайте и активируйте свои уведомления.

NotificationCompat.Builder mBuilder = новый NotificationCompat.Builder (this) .setSmallIcon (R.drawable.ic_launcher);

RemoteViews mContentView = new RemoteViews(getPackageName(), R.layout.test_tt); 
mContentView.setImageViewResource(R.id.image, R.drawable.ic_action_search); 
mContentView.setTextViewText(R.id.title, "Custom notification"); 
mContentView.setTextViewText(R.id.text, "This is a custom layout"); 
mBuilder.setContent(mContentView); 

notimgr.notify(1001, mBuilder.build()); 

Дайте мне знать, если возникнут проблемы.

Лучшие Regds

+0

Мой вопрос фокусируется на том, как вы измените (в данном случае R.id.image), когда пользователь нажмет кнопку. Как я уже упоминал, селектор xml не работал. – andras

0
private NotificationTarget notificationTarget; 

notificationTarget = new NotificationTarget( 
    context, 
     R.id.remoteview_notification_icon, 
     remoteViews, 
     notification, 
     NOTIFICATION_ID); 

GlideApp 
    .with(context.getApplicationContext()) 
    .asBitmap() 
     .load(eatFoodyImages[3]) 
     .into(notificationTarget); 

Для получения дополнительной справки, пожалуйста, посетите https://futurestud.io/tutorials/glide-loading-images-into-notifications-and-appwidgets