android - 显示 Android Wear 风格的 AlertDialog

标签 android android-layout wear-os

我正在寻找一种在 Android Wear 的设置应用程序中重新创建警报对话框的方法:

expected

滑动即可关闭。

但相反,我得到的是:

actual

只是一个简单的 Android 对话框。如何以 Settings.apk 样式显示 AlertDialog? (我认为这必须是 Android Wear 应用程序的默认设置)

最佳答案

我没有找到执行此操作的默认方法,而且将自定义 View 设置为 AlertDialog 看起来也不太好。不过,您仍然可以尝试,也许不同的主题会起作用。

我所做的是创建一个新的 Activity 并创建我自己的布局,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<android.support.wearable.view.BoxInsetLayout  
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="10dp"
        app:layout_box="all">

        <TextView
            android:id="@+id/tv_longtext"
            android:layout_width="match_parent"
            android:layout_height="0sp"
            android:layout_weight="1"
            android:fontFamily="sans-serif-condensed"
            android:gravity="bottom"
            android:padding="5sp"
            android:text="Ambient screen reduces battery life."
            android:textSize="16sp" />

        <TextView
            android:id="@+id/tv_question"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fontFamily="sans-serif-condensed"
            android:gravity="center_horizontal|top"
            android:paddingBottom="15sp"
            android:paddingTop="5sp"
            android:text="Turn on?"
            android:textSize="18sp" />

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5sp">

            <android.support.wearable.view.CircledImageView
                android:id="@+id/btn_cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left|bottom"
                android:src="@drawable/ic_cross"
                app:circle_color="#AFAFAF"
                app:circle_radius="25dp"
                app:circle_radius_pressed="20dp" />

            <android.support.wearable.view.CircledImageView
                android:id="@+id/btn_ok"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|bottom"
                android:src="@drawable/ic_tick"
                app:circle_color="#0EB695"
                app:circle_radius="25dp"
                app:circle_radius_pressed="20dp" />
        </FrameLayout>
    </LinearLayout>
</android.support.wearable.view.BoxInsetLayout>

它看起来就像设置中的确认屏幕。也许它仍然需要一些调整,但我认为这是要走的路。

关于android - 显示 Android Wear 风格的 AlertDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27945471/

相关文章:

安卓穿戴操作系统

android - Android Wear 的仿真需要很长时间

android - 迁移到 Material 设计 - 我们应该使用工具栏还是操作栏

android - 从 Android Studio/CMake 中的子模块导入自己的本地共享库

java - fragment Z 顺序在方向改变时改变

java - Activity 终止后 setSingleChoiceItems 值不会保留

Android - 类似旋转木马的小部件,显示左右元素的一部分

android - 动画网格布局从消失到可见

java - 无法从磨损数据层获取数据

android - "Hidden"状态栏下可见工具栏