उपयोगकर्ता बाईं से दाईं ओर स्वाइप करके, Wear OS पर की गई गतिविधि से बाहर निकल सकता है. अगर ऐप्लिकेशन में हॉरिज़ॉन्टल स्क्रोलिंग है, तो उपयोगकर्ता ब्राउज़र के किनारे पर जाकर, ऐप्लिकेशन से बाहर निकल जाता है स्क्रीन पर देखा जा सकता है. इसके बाद, बाईं से दाईं ओर स्वाइप किया जा रहा है. पावर बटन दबाने पर, उपयोगकर्ता स्मार्टवॉच की होम स्क्रीन पर भी वापस आ जाता है.
खारिज करने के लिए स्वाइप करने का जेस्चर
मौजूदा स्क्रीन बंद करने के लिए, उपयोगकर्ता बाईं से दाईं ओर स्वाइप करते हैं. इसलिए, हम हम आपको इनका इस्तेमाल करने का सुझाव देते हैं:
- वर्टिकल लेआउट
- कॉन्टेंट कंटेनर
हम यह भी सुझाव देते हैं कि आप अपने ऐप्लिकेशन में हॉरिज़ॉन्टल स्वाइपिंग वाले जेस्चर.
किसी गतिविधि को खारिज करना
गतिविधियां अपने आप स्वाइप करके खारिज करने की सुविधा का समर्थन करती हैं. किसी गतिविधि को स्वाइप करना बाईं से दाईं ओर दिखाने पर, गतिविधि बंद हो जाती है और ऐप्लिकेशन में नीचे जाता है पिछली गतिविधियां.
फ़्रैगमेंट को खारिज करना
फ़्रैगमेंट में खारिज करने के लिए स्वाइप करने की सुविधा का इस्तेमाल करने के लिए, आपको
फ़्रैगमेंट वाला व्यू
SwipeDismissFrameLayout
क्लास. इसे ध्यान में रखें
फ़्रैगमेंट इस्तेमाल करने का फ़ैसला लेते समय. इसका इस्तेमाल करें
SwipeDismissFrameLayout
क्लास, जैसा कि इस उदाहरण में दिखाया गया है:
Kotlin
class SwipeDismissFragment : Fragment() { private val callback = object : SwipeDismissFrameLayout.Callback() { override fun onSwipeStarted(layout: SwipeDismissFrameLayout) { // Optional } override fun onSwipeCanceled(layout: SwipeDismissFrameLayout) { // Optional } override fun onDismissed(layout: SwipeDismissFrameLayout) { // Code here for custom behavior, such as going up the // back stack and destroying the fragment but staying in the app. } } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View = SwipeDismissFrameLayout(activity).apply { // If the fragment should fill the screen (optional), then in the layout file, // in the androidx.wear.widget.SwipeDismissFrameLayout element, // set the android:layout_width and android:layout_height attributes // to "match_parent". inflater.inflate( R.layout.swipe_dismiss_frame_layout, this, false ).also { inflatedView -> addView(inflatedView) } addCallback(callback) } }
Java
public class SwipeDismissFragment extends Fragment { private final Callback callback = new Callback() { @Override public void onSwipeStart() { // Optional } @Override public void onSwipeCancelled() { // Optional } @Override public void onDismissed(SwipeDismissFrameLayout layout) { // Code here for custom behavior, such as going up the // back stack and destroying the fragment but staying in the app. } }; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { SwipeDismissFrameLayout swipeLayout = new SwipeDismissFrameLayout(getActivity()); // If the fragment should fill the screen (optional), then in the layout file, // in the androidx.wear.widget.SwipeDismissFrameLayout element, // set the android:layout_width and android:layout_height attributes // to "match_parent". View inflatedView = inflater.inflate(R.layout.swipe_dismiss_frame_layout, swipeLayout, false); swipeLayout.addView(inflatedView); swipeLayout.addCallback(callback); return swipeLayout; } }
ध्यान दें: जब आप अपनी गतिविधि में फ़्रैगमेंट का इस्तेमाल करते हैं, तो इसका इस्तेमाल करें
FragmentManager.add
के बजाय
FragmentManager.replace
स्वाइप करके खारिज करने के जेस्चर का इस्तेमाल करें.
इससे यह पक्का करने में मदद मिलती है कि आपका पिछला फ़्रैगमेंट, टॉप फ़्रैगमेंट के नीचे रेंडर हो जाए, जबकि वह
दूर स्वाइप किया गया.
हॉरिज़ॉन्टल स्क्रोल किए जा सकने वाले व्यू
कुछ मामलों में, जैसे कि पैन करने की सुविधा देने वाले मैप के व्यू में, यूज़र इंटरफ़ेस, हॉरिज़ॉन्टल स्वाइपिंग को नहीं रोक सकता. इसमें इसके लिए, दो विकल्प मौजूद हैं:
- अगर बैक स्टैक छोटा है, तो उपयोगकर्ता ऐप्लिकेशन को खारिज करके वापस आ सकता है होम स्क्रीन पर लिंक कर सकते हैं.
- अगर आपको उपयोगकर्ता को पिछली गतिविधियों पर जाना है, तो व्यू को रैप करें
SwipeDismissFrameLayout
ऑब्जेक्ट में, जो एज में काम करता है स्वाइप करें. व्यू या इसके चाइल्ड एंट्री वापस आने पर, किनारे पर स्वाइप करने की सुविधा चालू हो जाती हैtrue
canScrollHorizontally()
कॉल. किनारे पर स्वाइप करने से उपयोगकर्ता को व्यू को खारिज करने के लिए, स्क्रीन पर सबसे बाईं ओर 10% तक स्वाइप करना कहीं भी क्लिक करें.
नीचे दिए गए उदाहरण दिखाते हैं कि
SwipeDismissFrameLayout
ऑब्जेक्ट:
<androidx.wear.widget.SwipeDismissFrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/swipe_dismiss_root" > <TextView android:id="@+id/test_content" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="Swipe me to dismiss me." /> </androidx.wear.widget.SwipeDismissFrameLayout>
Kotlin
activity?.findViewById<SwipeDismissFrameLayout>(R.id.swipe_dismiss_root)?.apply { addCallback(object : SwipeDismissFrameLayout.Callback() { override fun onDismissed(layout: SwipeDismissFrameLayout) { layout.visibility = View.GONE } }) }
Java
SwipeDismissFrameLayout testLayout = (SwipeDismissFrameLayout) activity.findViewById(R.id.swipe_dismiss_root); testLayout.addCallback(new SwipeDismissFrameLayout.Callback() { @Override public void onDismissed(SwipeDismissFrameLayout layout) { layout.setVisibility(View.GONE); } } );
इसका सुझाव नहीं दिया जाता: स्वाइप करके खारिज करने की सुविधा को बंद करें
हम आम तौर पर, स्वाइप करने और खारिज करने की सुविधा को बंद करने का सुझाव नहीं देते, क्योंकि उपयोगकर्ता
स्वाइप करके किसी भी स्क्रीन को खारिज कर सकता है. एक अपवाद के तौर पर,
आप डिफ़ॉल्ट थीम को बढ़ा सकते हैं
में
स्टाइल रिसॉर्स
और android:windowSwipeToDismiss
एट्रिब्यूट सेट करें
false
तक, जैसा कि नीचे दिए गए कोड सैंपल में दिखाया गया है:
<resources> <style name="AppTheme" parent="@android:style/Theme.DeviceDefault"> <item name="android:windowSwipeToDismiss">false</item> </style> </resources>
इसके बाद, उपयोगकर्ताओं को यह सूचना दी जा सकती है कि वे आपके ऐप्लिकेशन का पहली बार इस्तेमाल करें कि वे पावर बटन दबाकर ऐप्लिकेशन से बाहर निकल सकें.
पावर बटन का इस्तेमाल करके, मैसेज खारिज करने की सुविधा
फ़िज़िकल पावर बटन दबाने से पावर बटन भेजा जाता है इवेंट. इसलिए, पावर बटन का इस्तेमाल बैक अप के तौर पर नहीं किया जा सकता बटन या आम तौर पर नेविगेशन के लिए उपलब्ध है.
पावर बटन को दबाने पर, उपयोगकर्ता को स्मार्टवॉच की होम स्क्रीन पर वापस ले जाया जाता है. इसके दो अपवाद हैं:
- अगर उपयोगकर्ता इनपुट के तरीके के एडिटर (IME) का इस्तेमाल करता है, जैसे कि हैंडराइटिंग स्क्रीन पहचानने की सुविधा, बटन दबाने पर IME को बंद करता है और उपयोगकर्ता को ऐप्लिकेशन पर वापस भेजता है.
- अगर उपयोगकर्ता स्मार्टवॉच की होम स्क्रीन पर है, तो हार्डवेयर बटन दबाएं ऐप्लिकेशन लॉन्चर खोलता है.
ध्यान दें कि पावर बटन को दबाने पर,
Activity
क्लास में से
isFinishing()
तरीका यह करता है
true
वापस नहीं आएगा और मुख्य इवेंट को बीच में नहीं रोका जा सकेगा.
ज़्यादा जानकारी के लिए, यह देखें नेविगेशन.