我正在为智能手表开发一个应用程序,并且GridViewPager中包含一个ScrollView(垂直),它本身也包含在FrameLayout中。

垂直滚动条只能在Sony SmartWatch 3上使用,而不能在Moto 360(第一代)上使用。

这是代码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/shape">

    <android.support.wearable.view.GridViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:keepScreenOn="true" />

    <android.support.wearable.view.DotsPageIndicator
        android:id="@+id/page_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|bottom">
    </android.support.wearable.view.DotsPageIndicator>

</FrameLayout>


在GridViewPager内部:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="10dp"
        android:background="@color/wl_blue">

            <TextView
                android:id="@+id/very_long_text"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@color/wl_blue"
                android:paddingTop="4dp"
                android:paddingBottom="4dp"
                android:paddingLeft="10dp"
                android:paddingRight="8dp"
                android:fontFamily="sans-serif-medium"
                android:textSize="14sp"
                android:textColor="@color/white"/>

    </RelativeLayout>

</ScrollView>


您知道为什么它不能在Moto 360上运行吗?

谢谢你的帮助

最佳答案

我遇到了与您自己相同的问题。看来Moto 360上的GridViewPager处理触摸的方式与其他设备不同。我在其上测试过的其他设备(包括其他圆形手表)将触摸从GridViewPager传递到滚动视图,但是使用Moto 360时,GridViewPager会消耗触摸本身。

关于android - Grid View Pager中的Scrollview在Android Wear上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34198129/

10-10 19:35