Kullanıcılar Wear OS etkinliğinden çıkmak için soldan sağa doğru kaydırabilir. Uygulama yatay kaydırma yapıyorsa kullanıcı kenara giderek uygulamadan çıkar dokunun ve soldan sağa kaydırın. Güç düğmesine basıldığında kullanıcı da kadrana döner.
Kapatmak için kaydırma hareketi
Kullanıcılar geçerli ekranı kapatmak için soldan sağa kaydırır. Bu nedenle, şunları kullanmanızı öneririz:
- Dikey düzenler
- İçerik kapsayıcıları
Ayrıca, uygulamanızın mobil cihazlarda Yatay kaydırma hareketleri.
Bir etkinliği kapatma
Etkinlikler, kapatmak için hızlıca kaydırmayı otomatik olarak destekler. Etkinliği kaydırma etkinlik, uygulamanın ve uygulamanın reddedilmesine neden olur. aşağı gider gösterir.
Parçayı kapatma
Parçalarda hızlıca kaydırmak için kaydırmayı desteklemek üzere
bir bileşen içeren görünüm
SwipeDismissFrameLayout
sınıfı. Bunu göz önünde bulundurun
karar verirken göz önünde
bulundurmanız gerekir. Şunu kullanın:
SwipeDismissFrameLayout
sınıfı aşağıdaki örnekte gösterildiği gibidir:
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; } }
Not: Etkinliğinizde parçaları kullandığınızda
FragmentManager.add
yerine
FragmentManager.replace
özelliğini desteklemesi gerekir.
Bu, önceki parçanızın, hâlâ üst parçanın altında oluşturulduğunda
kaçırdınız.
Yatay kaydırılabilir görünümler
Kaydırmayı destekleyen bir harita içeren görünümde, yatay kaydırmayı destekleyen bir görünümde kullanıcı arayüzü yatay kaydırmayı engelleyemiyor. Burada iki seçenek vardır:
- Arka grup kısaysa kullanıcı uygulamayı kapatıp geri dönebilir saat kadranın ana ekranına bağlayabilirsiniz.
- Kullanıcının arka kısma gitmesini istiyorsanız görünümü kaydırabilirsiniz.
kenar destekleyen bir
SwipeDismissFrameLayout
nesnesinde kaydırın. Görünüm veya alt öğeleri geri döndüğünde kenardan kaydırma etkinleştirilirtrue
, kalkış:canScrollHorizontally()
araması. Kenardan kaydırma, kullanıcının ekranın en soldan% 10'luk kısmıyla kaydırmak yerine görünümü kapatmak için herhangi bir yeri görebilirsiniz.
Aşağıdaki örneklerde, bir görünümün
SwipeDismissFrameLayout
nesne:
<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); } } );
Önerilmez: Kapatmak için hızlıca kaydırmayı devre dışı bırakın
Kullanıcı sayfayı kapatmak için hızlıca kaydırma özelliğini devre dışı bırakmanızı
her ekranı hızlıca kaydırmayı bekler. Olağanüstü bir durumda,
varsayılan temayı
içinde
stil kaynağı
ve android:windowSwipeToDismiss
özelliğini
aşağıdaki kod örneğinde gösterildiği gibi false
olarak değiştirin:
<resources> <style name="AppTheme" parent="@android:style/Theme.DeviceDefault"> <item name="android:windowSwipeToDismiss">false</item> </style> </resources>
Daha sonra kullanıcıları uygulamanızı ilk kez kullandıklarında bilgilendirebilirsiniz güç düğmesine basarak uygulamadan çıkabilmelerini sağlayın.
Güç düğmesiyle kapatma
Fiziksel güç düğmesine basıldığında güç tuşu gönderilir unutmayın. Bu nedenle, güç düğmesini arka taraf olarak kullanamazsınız genel olarak gezinmeye olanak veriyor.
Basıldığında güç düğmesi, kullanıcıyı saat kadranı ana ekranına geri döndürür. İki istisna vardır:
- Kullanıcı, el yazısı gibi bir Giriş Yöntemi Düzenleyici'de (IME) ise tanıma ekranı, düğmeye basarak IME'yi kapatır ve kullanıcıyı uygulamaya geri döndürür.
- Kullanıcı kadrana bakıyorsa donanım düğmesine basma Uygulama başlatıcıyı açar.
Not: Güç düğmesine basıldığında,
Activity
sınıfının
isFinishing()
yöntemi
true
değerini döndürmez ve önemli etkinliğe müdahale edemezsiniz.
Daha fazla bilgi için bkz. Rota izleme.