如何将Watchface设置在手表的中心

时间:2014-12-16 13:51:49

标签: android wear-os

Hy我正致力于开发表盘。我们知道有圆形和方形的表盘,所以我设计了表盘,使其不会在圆形表中进行裁剪。但同时我想将它设置在屏幕的中心。

告诉我如何将其设置在屏幕中心,无论圆形和矩形屏幕如何。我已经做了所有的事情,但似乎它开始从屏幕的左侧调整自己。

  

我在这里分享我的代码用于矩形布局

    <?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"

    app:layout_box="all"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:padding="15dp">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5dp"

        app:layout_box="all">


        <com.example.bilal.cutomanalogclockdemo.AnalogClock1
            android:id="@+id/clock"  style="@style/clock"
            xmlns:android="http://schemas.android.com/apk/res/android"
            />


    </FrameLayout>


</android.support.wearable.view.BoxInsetLayout>
  

这是圆形布局

 <android.support.wearable.view.BoxInsetLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"

    app:layout_box="all"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:padding="15dp">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5dp"
        app:layout_box="all">


        <com.example.bilal.cutomanalogclockdemo.AnalogClock1
            android:id="@+id/clock"  style="@style/clock"
            xmlns:android="http://schemas.android.com/apk/res/android"
            />


    </FrameLayout>


</android.support.wearable.view.BoxInsetLayout>

现在请告诉我如何在中心调整它。谢谢

1 个答案:

答案 0 :(得分:1)

如果您查看Google提供的示例AnalogWatchFaceService,您会看到他们通过边界宽度和高度获得onDraw的中心x / y

// Find the center. Ignore the window insets so that, on round watches with a
// "chin", the watch face is centered on the entire screen, not just the usable
// portion.
float centerX = width / 2f;
float centerY = height / 2f;

示例:http://developer.android.com/samples/WatchFace/index.html