Android 像 DismissOverlay 一样观看全屏 FAB

Android Watch fullscreen FAB like the DismissOverlay

有一个 DismissOverlayView,您可以实施它来为用户提供一种在 android 手表上退出应用程序的替代方法。这个视图实现了一些看起来像全屏 FAB 的东西。现在我想知道如何用另一个按钮 icon/color/behaviour 实现相同的视图。由于您无法更改代码看起来顺便说一句的 DismissOverlayView。像这样:

<android.support.wearable.view.DismissOverlayView
    android:id="@+id/dismiss_overlay"
    android:layout_height="match_parent"
    android:layout_width="match_parent"/>

我猜你必须实现一些自定义 FAB,但我不能在我的手表中使用 FAB XML 因为缺少依赖项或者因为手表根本不支持它 os.我尝试了以下代码进行测试:

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:layout_margin="16dp"
    android:clickable="true"/>

编辑:为了更好地理解,我希望按钮看起来像这样:

编辑:我刚找到这个解决方案,我不知道那个:

https://developer.android.com/training/wearables/ui/confirm.html

但我仍然很好奇,如果您可以实现此按钮的更可自定义的版本。

好的,我找到了解决该问题的方法,实际上您可以简单地创建一个新的 layout.xml 并覆盖默认代码,即以下代码:

<merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
    <TextView
        android:id="@+id/dismiss_overlay_explain"
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:layout_marginBottom="32dp"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="16dp"
        android:layout_marginTop="32dp"
        android:layout_width="wrap_content"
        android:padding="12dp"
        style="@style/DismissOverlayText"
        />
    <android.support.wearable.view.ActionPage
        android:id="@+id/dismiss_overlay_button"
        android:layout_height="match_parent"
        android:background="@color/dismiss_overlay_bg"
        android:layout_width="match_parent"
        android:src="@drawable/ic_full_cancel"
        android:color="@color/dismiss_close"
        app:buttonRippleColor="@color/dismiss_close_pressed"
        android:text="@string/dismiss_overlay_button_label"
        />
</merge>

现在您可以使用您新创建的 xml 自定义它并使用这个代替原来的 dimissOverlayView。但是你应该小心这样做,因为这并不是设计指南真正想要做的。