无法将Card与Android Wear底部对齐
作者:互联网
我遵循的是Android文档here上的教程,但他们没有按照我的期望做.
我创建了CardFrame在手表上显示卡片,并使用属性app:layout_box =“ bottom”将其显示在手表的底部,但是如您所见,截屏图并非如此.这是我的XML:
<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_height="match_parent"
android:layout_width="match_parent">
<android.support.wearable.view.CardScrollView
android:id="@+id/card_scroll_view"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:layout_box="bottom">
<android.support.wearable.view.CardFrame
android:layout_height="wrap_content"
android:layout_width="match_parent">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
android:paddingLeft="5dp">
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="Custom Title"
android:textColor="@color/black"
android:textSize="20sp"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="Custom Description"
android:textColor="@color/black"
android:textSize="14sp"/>
</LinearLayout>
</android.support.wearable.view.CardFrame>
</android.support.wearable.view.CardScrollView>
</android.support.wearable.view.BoxInsetLayout>
这是卡片的屏幕截图:
谁能阐明为什么该属性无法按预期工作?
解决方法:
向CardFrame标记添加属性android:layout_gravity =“ bottom”,如下所示:
<android.support.wearable.view.CardFrame
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_gravity="bottom">
这已为我解决了该问题,该卡显示在底部.
说明:
我认为从Cardframe教程中,属性“ layout_box”的含义不是很清楚.从BoxInsetLayout docs看来,layout_box =“ bottom”的意思是“确保CardScrollView的底部包含在(或装箱中的)centre box内部”.这样可以防止裁切卡的底部.这并不意味着“在底部对齐”. layout_gravity属性将卡放置在底部. layout_box属性可确保未裁剪卡片内容的底部.
标签:wear-os,android 来源: https://codeday.me/bug/20191027/1944379.html