Wear OS手表应用开发教程之-滑动隐藏布局-SwipeDismissFrameLayout
本文标签
Android Studio | Wear OS | SwipeDismissFrameLayout | 滑动隐藏布局 |
---|
前言:
正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配应该是一件非常简单的事情
不知道大家还记不记得安卓的三大金刚键,那是安卓曾经的辉煌。多年过去,
全面屏手势
已经逐渐取代繁琐的按键操作,包括Wear OS的所有返回都是通过从左往右滑动来操作。通常我们都是右滑关闭activity,现在介绍一种右滑隐藏Layout
的布局SwipeDismissFrameLayout
。
利弊解析
如果您决定采用SwipeDismissFrameLayout
方案,希望可以先参考下使用activity
和SwipeDismissFrameLayout
的利弊
优点:
- 关闭时不会对activity堆栈操作,速度是最快的。
- 适用于一个activity进行多页面交互,比如简单的设置等
- 布局只是暂时隐藏,可以动态重新打开
缺点:
- 打开activity需要加载更为繁琐的布局,有微乎其微的速度影响
- 会增加页面耦合
效果展示
使用方法
布局界面添加:
<androidx.wear.widget.SwipeDismissFrameLayout
android:id="@+id/swipeDismissFrameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:text="侧滑隐藏当前布局"
app:boxedEdges="all"
tools:ignore="MissingPrefix" />
</androidx.wear.widget.SwipeDismissFrameLayout>
应用到Activity:
class MainActivity : WearableActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Enables Always-on
setAmbientEnabled()
//重点在以下代码
//侧滑关闭帧布局的回调
swipeDismissFrameLayout.addCallback(object : SwipeDismissFrameLayout.Callback() {
override fun onDismissed(layout: SwipeDismissFrameLayout?) {
super.onDismissed(layout)
layout?.visibility = View.GONE
}
})
}
}
结语
手表开发和Android开发相似度非常之高,所以强烈推荐Android开发者尝试一下这个新领域,虽然WearOS推出至今已有六个年头,但是国内厂商近两年才开始适配并开始生产,未来发展空间可期。
最后我还有一句话要说
年轻时我以为钱就是一切,现在老了才知道,确实如此
奥斯卡·王尔德
Wear OS手表应用开发系列教程
Wear OS手表应用开发教程之-创建应用
Wear OS手表应用开发教程之-创建环形滚动列表-WearableRecyclerView
Wear OS手表应用开发教程之-禁止全屏滑动返回Activity
Wear OS手表应用开发教程之-侧滑隐藏-SwipeDismissFrameLayout