Wear OS手表应用开发教程之-滑动隐藏布局-SwipeDismissFrameLayout

本文标签

Android Studio Wear OS SwipeDismissFrameLayout 滑动隐藏布局

前言:

正如Android一样,Wear OS也是谷歌创建的智能操作系统,属于Android的一个分支。假设你有过Android
Application开发经验,那给Wear OS 做应用适配应该是一件非常简单的事情

不知道大家还记不记得安卓的三大金刚键,那是安卓曾经的辉煌。多年过去,全面屏手势已经逐渐取代繁琐的按键操作,包括Wear OS的所有返回都是通过从左往右滑动来操作。通常我们都是右滑关闭activity,现在介绍一种右滑隐藏Layout的布局SwipeDismissFrameLayout

利弊解析

如果您决定采用SwipeDismissFrameLayout方案,希望可以先参考下使用activitySwipeDismissFrameLayout的利弊

优点:

  1. 关闭时不会对activity堆栈操作,速度是最快的。
  2. 适用于一个activity进行多页面交互,比如简单的设置等
  3. 布局只是暂时隐藏,可以动态重新打开

缺点:

  1. 打开activity需要加载更为繁琐的布局,有微乎其微的速度影响
  2. 会增加页面耦合

效果展示

在这里插入图片描述

使用方法

布局界面添加:

    <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

猜你喜欢

转载自blog.csdn.net/WitheredSkull/article/details/107865974
今日推荐