Wear OS'teki uygulamalar, diğer Android cihazlarla aynı düzen tekniklerini kullanır ancak kol saatine özgü kısıtlamalarla tasarlanması gerekir.
Not: Mobil uygulamadan aynı işlevi ve kullanıcı arayüzünü Wear OS'e taşımayın ve iyi bir kullanıcı deneyimi sunmaktır.
Uygulamanızı dikdörtgen bir avuç içi cihaz için tasarlarsanız ekranın köşelerine yakın içerikler yuvarlak saatlerde kırpılabilir. Kaydırılabilir dikey liste kullanıyorsanız Kullanıcı, içeriği ortalamak için kaydırabileceğinden bir sorun oluşturur. Ancak tek ekranlarda kötü bir kullanıcı deneyimi sağlar.
Düzeniniz için aşağıdaki ayarları kullanırsanız metinler cihazlarda düzgün gösterilmez aşağıdaki adımları izleyin:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/text" android:layout_width="0dp" android:layout_height="0dp" android:text="@string/very_long_hello_world" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
Bu sorunu çözmek için Yuvarlak cihazları destekleyen Wear OS Kullanıcı Arayüzü Kitaplığı.
BoxInsetLayout
kullanabilirsiniz kenarlarından kırpılmasını engelleyin.WearableRecyclerView
kullanabilirsiniz görüntülemek ve manipüle etmek istediğinizde eğri bir düzen oluşturabilirsiniz. Yuvarlak ekranlar için optimize edilmiş dikey öğe listesi.
Uygulama tasarlama hakkında daha fazla bilgi için Wear OS tasarım yönergeleri.
BoxInsetLayout kullanma
Wear OS Kullanıcı Arayüzü Kitaplığı'ndaki BoxInsetLayout
sınıfı,
yuvarlak ekranlar için uygun bir düzen tanımlarsınız. Bu sınıfta şu işlemleri yapabilirsiniz:
ekranın ortasında veya köşelerinde görünümleri kolayca hizalayabilirsiniz.
Şekil 2'deki gri kare, BoxInsetLayout
öğesinin
uygulandıktan sonra alt görüntüleme sayısını yuvarlak ekranlara otomatik olarak yerleştirebilir
emin olun. Bu alanda görüntülenecek olan çocuk
görünümler, layout_boxedEdges
özelliğini aşağıdaki değerlerle belirtir:
top
,bottom
veleft
veright
. Örneğin,"left|top"
değeri, alt yayıncının sol ve üst kısımlarını konumlandırır karenin içinde kenarlara dokunun."all"
değeri, alt yayıncının tüm içeriğini dosya içinde konumlandırır. gri kareyi seçin. Bu, proje başlatma belgesindeConstraintLayout
inceleyebilirsiniz.
Şekil 2'de gösterilen düzen <BoxInsetLayout>
kullanır
öğesi vardır ve yuvarlak ekranlarda çalışır:
<androidx.wear.widget.BoxInsetLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_height="match_parent" android:layout_width="match_parent" android:padding="15dp"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp" app:layout_boxedEdges="all"> <TextView android:layout_height="wrap_content" android:layout_width="match_parent" android:text="@string/sometext" android:textAlignment="center" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <ImageButton android:background="@android:color/transparent" android:layout_height="50dp" android:layout_width="50dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" android:src="@drawable/cancel" /> <ImageButton android:background="@android:color/transparent" android:layout_height="50dp" android:layout_width="50dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" android:src="@drawable/ok" /> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.wear.widget.BoxInsetLayout>
Düzenin kalın karakterlerle işaretlenmiş bölümlerine dikkat edin:
-
android:padding="15dp"
Bu satır,
<BoxInsetLayout>
öğesine dolgu atar öğesine dokunun. -
android:padding="5dp"
Bu satır, iç
ConstraintLayout
öğesine dolgu atar. -
app:layout_boxedEdges="all"
Bu satır,
ConstraintLayout
öğesinin gösterilmesini sağlar alt öğeleri pencerenin tanımladığı alanın içine yerleştirilir ek yer işaretlerine sahip olması gerekir.
Eğri bir düzen kullan
Wear OS Kullanıcı Arayüzü Kitaplığı'ndaki
WearableRecyclerView
sınıfı
yuvarlak ekranlar için optimize edilmiş eğri bir düzeni etkinleştirmenizi sağlar.
uygulaması için bkz.
Wear OS'te liste oluşturun.