私はBoxInsetLayoutの内側のLinearLayoutを使用してラウンド顔用& を重心を持つために必要なのですが平方顔用を残しました。BoxInsetLayout内でラウンド&スクエアウォッチのビューに異なるスタイルを適用するにはどうすればよいですか?
WatchViewStubでは可能ですが、BoxInsetLayoutを使用する必要があります。
このように、各顔に2種類のスタイルを適用する方法はありますか?
私はBoxInsetLayoutの内側のLinearLayoutを使用してラウンド顔用& を重心を持つために必要なのですが平方顔用を残しました。BoxInsetLayout内でラウンド&スクエアウォッチのビューに異なるスタイルを適用するにはどうすればよいですか?
WatchViewStubでは可能ですが、BoxInsetLayoutを使用する必要があります。
このように、各顔に2種類のスタイルを適用する方法はありますか?
画面がラウンド以下を使用している場合は、実行時にチェックすることができます。
private class Engine extends CanvasWatchFaceService.Engine {
boolean mIsRound;
@Override
public void onApplyWindowInsets(WindowInsets insets) {
super.onApplyWindowInsets(insets);
mIsRound = insets.isRound();
}
...
}
これはCreating Watch Faces開発者ガイドに記載されています。 WindowInsets.isRound()
がAPI 20で追加されたので、これが利用可能になるはずです。この値に基づいて、コンテンツの適切な重力を設定することができます。
ええ、それは方法です。しかし、私たちがもっと多くの意見を持っているなら、時間の複雑さが増すと思います。 Googleがサポートライブラリにそのようなソリューションを提供すれば、それは良いでしょう。 –
機能リクエストhttps://code.google.com/p/android/issues/detail?id=232122&thanks=232122&ts=1484288818を追加しました。 –
@SanketKachhelaリソースの設定修飾子をバックポートする方法は実際にありません。サポートライブラリに何か追加されることはないでしょうか。 – Karakuri
おそらく、修飾されたディレクトリに2つのレイアウトを作る方がよいでしょう(例えば 'layout-round'や' layout-notround')。共通の内容は、両方で ''にすることができます。 –
Karakuri
@ KarakuriこれはAPI 23で両方のレイアウトが追加されました。下位バージョンのための方法はありますか? –
[ウォッチフェイスの作成](https://developer.android.com/training/wearables/watch-faces/index.html)のドキュメントを確認したい場合は、Android 4.3(APIレベル18)以降でハンドヘルドデバイスとウェアラブルデバイスのAndroid 5.0(APIレベル21)以上。お役に立てれば。 –