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 系统映像差异