升级到Wear 2.0.0发布后,可穿戴式动作抽屉破裂

时间:2017-02-12 19:24:34

标签: wear-os android-wear-2.0

我的视图中有一个acton抽屉,有3个项目,从菜单xml文件中提取。

<android.support.wearable.view.drawer.WearableActionDrawer
    android:id="@+id/bottom_action_drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:action_menu="@menu/action_drawer_menu"
    android:background="@color/menu_background"/>

菜单文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_calibrate"
        android:icon="@drawable/ic_balls"
        android:title="@string/calibrate_shots"/>
    <item android:id="@+id/menu_play"
        android:icon="@drawable/ic_tennis"
        android:title="@string/play_session" />
    <item android:id="@+id/menu_sync"
        android:icon="@drawable/ic_synchronize"
        android:title="@string/sync_sessions" />
</menu>

使用com.google.android.support:wearable:2.0.0-alpha3进行编译时,一切正常,当我在菜单的“peek”边缘选项卡时,菜单打开正常。在使用com.google.android.support:wearable:2.0.0时,点击“peek”边缘只需运行菜单中第一项的onclick事件。 onclick的Java代码:

@Override
    public boolean onMenuItemClick(MenuItem menuItem) {
        if(menuItem.getTitle().toString().equals(getResources().getString(R.string.play_session))) {
            startStartPlayActivity();
        } else if(menuItem.getTitle().toString().equals(getResources().getString(R.string.calibrate_shots))) {
            startStartCalibrationActivity();
        } else if(menuItem.getTitle().toString().equals(getResources().getString(R.string.sync_sessions))) {
            startSyncActiviy();
        } 
        mContainerView.peekDrawer(Gravity.BOTTOM);
        return false;
    }

任何想法,如果这是一个错误的发布或有什么我做错了?我正在测试LG Urbane第二代LTE。

1 个答案:

答案 0 :(得分:2)

根据Peeking Drawers documentation

  

默认情况下,当有多个操作时,操作抽屉会显示带有V形符号的第一个操作。

因此,点击偷看抽屉应该触发第一个动作。它继续说:

  

如果您希望在没有第一个操作的情况下仅显示溢出图标(3个垂直点),则可以通过将show_overflow_in_peek flag设置为true来覆盖默认行为。

 <android.support.wearable.view.drawer.WearableActionDrawer
      android:id="@+id/bottom_drawer"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@android:color/holo_blue_dark"
      app:show_overflow_in_peek="true"/>