Android Wear 布局开始太低

Posted

技术标签:

【中文标题】Android Wear 布局开始太低【英文标题】:Android Wear Layout starts too low 【发布时间】:2021-05-25 17:35:56 【问题描述】:

我对 Wear 项目的片段布局有疑问。我有一个 WearActivity,它只托管一个 FragmentContainerView 来支持导航图。在里面我有一个 HomeFragment,布局如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_
    android:layout_
    app:boxedEdges="all">

    <ScrollView
        android:layout_
        android:layout_
        android:background="@color/black"
        android:paddingBottom="32dp">

        <LinearLayout
            android:id="@+id/llWearContent"
            android:layout_
            android:layout_
            android:orientation="vertical">

            <ImageButton
                android:id="@+id/notifications_ibtn"
                android:layout_
                android:layout_
                android:layout_gravity="top|center_horizontal"
                android:background="@color/black"
                android:src="@drawable/ic_notifications" />

            <TextView
                android:id="@+id/station_name_tv"
                android:layout_
                android:layout_
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/spacing_normal"
                android:text="12th St. Oakland City Center Station"
                android:textColor="@android:color/white"
                android:textStyle="bold" />


            <TextView
                android:id="@+id/find_station_tv"
                android:layout_
                android:layout_
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/spacing_normal"
                android:gravity="start"
                android:maxLines="1"
                android:text="@string/button_find_station"
                android:textAlignment="textStart"
                android:textAppearance="?attr/textAppearanceButton"
                android:textColor="@color/find_change_station_color"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/find_station_tv1"
                android:layout_
                android:layout_
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/spacing_normal"
                android:gravity="start"
                android:maxLines="1"
                android:text="@string/button_find_station"
                android:textAlignment="textStart"
                android:textAppearance="?attr/textAppearanceButton"
                android:textColor="@color/find_change_station_color"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/find_station_tv2"
                android:layout_
                android:layout_
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/spacing_normal"
                android:gravity="start"
                android:maxLines="1"
                android:text="@string/button_find_station"
                android:textAlignment="textStart"
                android:textAppearance="?attr/textAppearanceButton"
                android:textColor="@color/find_change_station_color"
                android:textSize="14sp" />

            <TextView
                android:id="@+id/find_station_tv3"
                android:layout_
                android:layout_
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/spacing_normal"
                android:gravity="start"
                android:maxLines="1"
                android:text="@string/button_find_station"
                android:textAlignment="textStart"
                android:textAppearance="?attr/textAppearanceButton"
                android:textColor="@color/find_change_station_color"
                android:textSize="14sp" />
        </LinearLayout>
    </ScrollView>
</RelativeLayout>

活动布局是这样的:

<?xml version="1.0" encoding="utf-8"?>
<androidx.fragment.app.FragmentContainerView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/nav_host_fragment"
    android:name="androidx.navigation.fragment.NavHostFragment"
    android:layout_
    android:layout_
    app:defaultNavHost="true"
    app:navGraph="@navigation/nav_graph_wear" />

我尝试了其他几个根视图组,但最终结果始终相同。

【问题讨论】:

【参考方案1】:

问题是工具栏控制器类为 Activity 设置了透明状态栏。真正针对项目。

【讨论】:

以上是关于Android Wear 布局开始太低的主要内容,如果未能解决你的问题,请参考以下文章

Wear OS 上 Jetpack Compose 中的 BasicTextField 问题

在openGl android(Wear)中绘制基于图像的纹理

Google API vs Google Play vs Intel x86 vs Android TV vs Wear OS Intel x86 系统映像差异

圆形 Android Wear 设计的 Snackbar

Xamarin.Forms - 创建 Android Wear 应用程序时出现问题

在 Android Wear 中正确显示通知