可惜Moto360不利用欧洲尚未...回合Android Wear模拟器使用矩形布局
我跑一个回合Android Wear模拟器,这是工作的罚款。
然而,当我运行Android Wear活动运行回合模拟器时(它使用WatchViewStub)所使用的布局是rect_activy_layout而不是圆形布局
任何人有这个问题还是解决?
谢谢
可惜Moto360不利用欧洲尚未...回合Android Wear模拟器使用矩形布局
我跑一个回合Android Wear模拟器,这是工作的罚款。
然而,当我运行Android Wear活动运行回合模拟器时(它使用WatchViewStub)所使用的布局是rect_activy_layout而不是圆形布局
任何人有这个问题还是解决?
谢谢
有不正确使用WatchViewStub引起的膨胀布局有很多问题。我没有看到任何代码确切地知道,但一个共同的问题是,当你注册的手表插图一个侦听器,以便您可以检查它是否是圆的还是方的onApplyWindowInsets处理程序中:
final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
stub.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
@Override
public WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
// Need to also call the original insets since we have overridden the original
// https://developer.android.com/reference/android/view/View.OnApplyWindowInsetsListener.html
stub.onApplyWindowInsets(windowInsets);
// this is where you would check the WindowInsets for isRound()
return windowInsets;
}
});
我看情况人们忘记返回windowInsets,或忘记调用stub.onApplyWindowInsets()。这具有提供方形布局而不是圆形布局的效果。
而且,有一个与内置于SDK的AndroidWearRound模拟器中的错误。其中有三个,如果你创建了错误的,它实际上会创建一个方形模拟器。确保你有三个模拟器,你选择第二个之一。此错误已在最新的Android SDK Tools 23.0.4中修复,但可能是您的版本较旧。
你能告诉我们你周围的WatchViewStub做的代码?
一个简单的解决方法是升级穿圆领模拟器API级别22,现在是出来。一般来说,我发现在API级别21的Wear Round模拟器有一些bug的行为,但到目前为止还没有发现在API级别22的Round模拟器有任何问题。我认为这将解决这个问题,因为我有同样的问题我自己在某个时候(这不是模拟器的设置问题)。
我实际上面临着同样的问题,我的摩托360我很感兴趣,知道什么别人没有解决这个问题。 – kentarosu 2014-09-21 20:14:25
订阅这个问题。 作为一个丑陋的解决方法,你可以暂时设置你的圆形布局,像这样: 'app:rectLayout =“@ layout/round_activity_my'” 它会运行你的圆形布局,认为它是作为矩形提供的... – 2014-09-23 10:11:12
I我一直在做这个非常“廉价”的工作。我的代码对于rect来说都很好,所以在我承诺之后,我只是用圆形布局样式代码覆盖我的矩形布局,一旦我很高兴,我将我的圆形布局代码复制并粘贴到实际的round_layout_activity中,然后还原修改的rect_layout文件。 Blah ... – 2014-09-25 10:21:55