मैं इस github पैकेज android-material-play-pause-view मेरे आवेदन में एक एनिमेटेड प्ले पॉज़ बटन को लागू करने के लिए। लेकिन मैं यह नहीं समझ सकता कि वर्तमान में जो चुना गया है उसे कैसे जांचें (खेलें या रोकें)।

यहाँ एक्सएमएल है:

    <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"
        />

मैं इस जानकारी को पुनः प्राप्त करने के लिए कोई गेट्टर विधि नहीं देख सकता और README में वर्णित केवल एक चीज .toggle() प्रतीत होती है, मैंने भी स्रोत के माध्यम से जाने की कोशिश की और कोई सुराग नहीं मिला। कृपया सहायता कीजिए

1
Sapnesh Naik 11 जुलाई 2017, 08:13

2 जवाब

सबसे बढ़िया उत्तर

आप बूलियन 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();
            }
});
3
Rasoul Miri 11 जुलाई 2017, 08:34

यदि आप पुस्तकालय का उपयोग करना चाहते हैं, तो आप पृष्ठभूमि रंग की तुलना getColor से कर सकते हैं क्योंकि आपका ऐप: पॉज़_बीजी ऐप: 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();
}

और true (play) या false (विराम) वापस करने के लिए yourview.getPlay() को कॉल करें।

1
Jisu Hong 11 जुलाई 2017, 08:56