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>
现在请告诉我如何在中心调整它。谢谢
答案 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