其他分享
首页 > 其他分享> > 无法将Card与Android Wear底部对齐

无法将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>

这是卡片的屏幕截图:

enter image description here

谁能阐明为什么该属性无法按预期工作?

解决方法:

向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