android |如何检查 iamgeButton 的状态是播放还是暂停
android | How to check if state is play or pause of iamgeButton
我正在使用这个 github package android-material-play-pause-view 在我的应用程序中实现动画播放暂停按钮。但是我不知道如何检查当前选择的内容(播放或暂停)。
这里是 xml:
<com.ohoussein.playpause.PlayPauseView
android:id="@+id/linuxPlayPause"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentStart="true"
android:layout_below="@+id/spinnerVersion"
android:layout_marginBottom="10dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="14dp"
android:clickable="true"
android:foreground="?android:selectableItemBackground"
app:fill_color="#ffff"
app:pause_bg="@color/colorPrimary"
app:play_bg="@color/colorAccent"
/>
我看不到任何 getter 方法来检索此信息,README
中描述的唯一内容似乎是 .toggle()
我也尝试查看源代码但没有发现任何线索.
请帮忙
你可以使用布尔值 isPlay。
boolean isPlay = false;
PlayPauseView view = (PlayPauseView) findViewById(R.id.play_pause_view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isPlay = !isPlay;
view.toggle();
}
});
如果您想按原样使用库,您可以将背景颜色与 getColor 进行比较,因为您的 app:pause_bg app:play_bg 不同。
如果yourview.getColor()为@color/colorPrimary,则处于暂停状态
否则如果yourview.getColor()是@color/colorAccent,则处于播放状态
if(isPlay(yourPlayPauseView)){
//...
}:
添加以下功能后:
private boolean isPlay(PlayPauseView yourview) {
return yourview.getColor() == getResources().getColor(R.color.colorAccent);
}
否则,您可以在 PlayPauseView.java 中添加以下代码:
private int getPlay() {
return mDrawable.isPlay();
}
并调用 yourview.getPlay() 到 return true(播放)或 false(暂停)。
我正在使用这个 github package android-material-play-pause-view 在我的应用程序中实现动画播放暂停按钮。但是我不知道如何检查当前选择的内容(播放或暂停)。
这里是 xml:
<com.ohoussein.playpause.PlayPauseView
android:id="@+id/linuxPlayPause"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentStart="true"
android:layout_below="@+id/spinnerVersion"
android:layout_marginBottom="10dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="14dp"
android:clickable="true"
android:foreground="?android:selectableItemBackground"
app:fill_color="#ffff"
app:pause_bg="@color/colorPrimary"
app:play_bg="@color/colorAccent"
/>
我看不到任何 getter 方法来检索此信息,README
中描述的唯一内容似乎是 .toggle()
我也尝试查看源代码但没有发现任何线索.
请帮忙
你可以使用布尔值 isPlay。
boolean isPlay = false;
PlayPauseView view = (PlayPauseView) findViewById(R.id.play_pause_view);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isPlay = !isPlay;
view.toggle();
}
});
如果您想按原样使用库,您可以将背景颜色与 getColor 进行比较,因为您的 app:pause_bg app:play_bg 不同。
如果yourview.getColor()为@color/colorPrimary,则处于暂停状态
否则如果yourview.getColor()是@color/colorAccent,则处于播放状态
if(isPlay(yourPlayPauseView)){
//...
}:
添加以下功能后:
private boolean isPlay(PlayPauseView yourview) {
return yourview.getColor() == getResources().getColor(R.color.colorAccent);
}
否则,您可以在 PlayPauseView.java 中添加以下代码:
private int getPlay() {
return mDrawable.isPlay();
}
并调用 yourview.getPlay() 到 return true(播放)或 false(暂停)。