BoxInsetLayout在圆形显示上切断文本

时间:2015-01-15 16:48:55

标签: android android-layout wear-os

我正在构建一个全屏佩戴应用程序,它是卡片和其他自定义视图的组合。我扩展了FragmentGridPagerAdapter,以便每个屏幕都是一个片段。在我的一个片段中,我想要显示一张卡片。它可以在方形手表上正常工作,但在圆形手表上会被切断。

我正在关注Google网站上的Creating Cards指南。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<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_width="match_parent"
  android:layout_height="match_parent">

  <FrameLayout
    android:id="@+id/fragment_card_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_box="bottom"/>

</android.support.wearable.view.BoxInsetLayout>

然后我在片段中膨胀:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View cardView = inflater.inflate(R.layout.fragment_card, container, false);
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    CardFragment cardFragment = CardFragment.create(
      "Testing",
      "Testing some description"
    );
    fragmentTransaction.add(R.id.fragment_card_frame, cardFragment);
    fragmentTransaction.commit();
    return cardView;

}

结果如下:

Wear Round Emulator

请注意,我也在设置app:layout_box="bottom"。 以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:-3)

我相信这是因为圆形设备在那里没有任何屏幕空间。正如你在这张照片中看到的那样fx底部是黑色的。

Moto 360