Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Jelly Bean通知中的双状态操作按钮_Android_Notifications_Drawable_Statelistdrawable - Fatal编程技术网

Android Jelly Bean通知中的双状态操作按钮

Android Jelly Bean通知中的双状态操作按钮,android,notifications,drawable,statelistdrawable,Android,Notifications,Drawable,Statelistdrawable,我正在尝试在通知中实现媒体播放器控件。我需要播放/暂停按钮在“播放”可绘制和“暂停”可动态绘制之间切换(基本上由用户触摸)。例如,当用户触摸“暂停”按钮时,需要切换到“播放”。当用户触摸“播放”按钮时,需要切换回“暂停” 我假设最好的方法是创建StateListDrawable XML并将其设置为操作按钮的drawable。不幸的是,我似乎无法使StateListDrawable正常工作。以下是我的可drawable XML文件: <?xml version="1.0" encoding=

我正在尝试在通知中实现媒体播放器控件。我需要播放/暂停按钮在“播放”可绘制和“暂停”可动态绘制之间切换(基本上由用户触摸)。例如,当用户触摸“暂停”按钮时,需要切换到“播放”。当用户触摸“播放”按钮时,需要切换回“暂停”

我假设最好的方法是创建StateListDrawable XML并将其设置为操作按钮的drawable。不幸的是,我似乎无法使StateListDrawable正常工作。以下是我的可drawable XML文件:

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android" >  
    <item android:state_first="true"  
          android:drawable="@drawable/pause_track_notification" />  
    <item android:state_last="true"
          android:drawable="@drawable/play_track_notification" />  
</selector> 


我是否遗漏了XML中的任何重要内容?现在,我只是得到了一个显示“播放/暂停”按钮的空白区域。如何使其工作?谢谢!

将此用作切换按钮和以下选择器:

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android" >  
    <item android:state_checked="true" 
          android:drawable="@drawable/pause_track_notification" />  
    <item android:state_checked="false"
          android:drawable="@drawable/play_track_notification" />
    <item android:drawable="@drawable/play_track_notification" /> <!-- the default -->
</selector>

用于切换按钮和以下选择器:

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android" >  
    <item android:state_checked="true" 
          android:drawable="@drawable/pause_track_notification" />  
    <item android:state_checked="false"
          android:drawable="@drawable/play_track_notification" />
    <item android:drawable="@drawable/play_track_notification" /> <!-- the default -->
</selector>


use toogle buttons,check here use toogle buttons,check here Hey感谢您的快速回复!使用您的代码可以让我再次看到默认的可绘制图标。但是,当我点击它时,它不会改变图标。我还需要做些什么来让它工作吗?记住,我在通知中将此可绘制按钮用于操作按钮。这可能是你的代码不起作用的原因吗?谢谢!你可能想添加
android:state\u focused=“true/false”
,但是当按下切换按钮时会起作用,我不知道你在说tapped时会想些什么?我试过
android:state\u focused
,但这也不起作用“我的意思是当用户按下按钮时。抱歉搞混了,我们现在都在同一页上。您的代码是否适用于通知中的操作按钮?或者它只对ToggleButton UI元素显式起作用吗?它在那里不起作用,但这里给您一个提示:将该按钮设置为imagebutton,并将其放入xml属性
android:onClick=“someFunction”
中,在该公共void someFunction(){}中,您可以检查当前可视化的图像并对其进行更改。就这么简单。啊,我明白你想说什么了。虽然我不明白如何使用
android:onClick
属性,但是
NotificationBuilder
只允许我为操作按钮设置一个可绘制按钮?下面是我设置操作按钮的方式:
builder.addAction(R.drawable.play\u pause\u notification\u light,“,playbausetrackpendingent)嘿,谢谢你的快速回复!使用您的代码,我可以再次看到默认的drawable。但是,当我点击它时,它不会改变图标。我还需要做些什么来让它工作吗?请记住,我在通知中使用此可绘制按钮作为操作按钮。这可能是你的代码不起作用的原因吗?谢谢您可能想添加
android:state\u focused=“true/false”
,但按下切换按钮时会起作用,我不知道您在说tapped时想到了什么?我尝试了
android:state\u focused
,但这也不起作用。我所说的“点击”是指当用户按下按钮时。抱歉搞混了,我们现在都在同一页上。您的代码是否适用于通知中的操作按钮?或者它只对ToggleButton UI元素显式起作用吗?它在那里不起作用,但这里给您一个提示:将该按钮设置为imagebutton,并将其放入xml属性
android:onClick=“someFunction”
中,在该公共void someFunction(){}中,您可以检查当前可视化的图像并对其进行更改。就这么简单。啊,我明白你想说什么了。虽然我不明白如何使用
android:onClick
属性,但是
NotificationBuilder
只允许我为操作按钮设置一个可绘制按钮?下面是我设置操作按钮的方式:
builder.addAction(R.drawable.play\u pause\u notification\u light,“,playbausetrackpendingent)