2017-12-11 7 views
1

最新のCodenameoneバージョンを使用すると、Androidで動作するComponentGroupsを取得できません。Codenameone ComponentGroupがAndroidスキンに表示されない

さまざまなiOSシミュレータのスキンでうまく動作するようですが、Androidのもの(例:Galaxy S7)ではうまく動作していないようです。実際のデバイス上で実行されている enter image description here

、テーマの定数でComponentGroupBoolを設定し、レコードの場合エミュレータ

上とまったく同じ結果が得られます。ただ、これはコード出力に簡単な例を実行している

何も変えていないようだ。 私は同じ結果でデフォルトの変更されていないテーマを使ってみました..

何が原因である可能性がありますか? JavaDocsから

答えて

0

重要!!! ComponentGroupBool 定数を有効にすることで、テーマによって明示的にアクティブにされない限り、コンポーネントグループはデフォルトで何もしません(デフォルトではgroupFlag プロパティでカスタマイズできます)。これにより、グループ化を必要としないテーマ のUIを変更せずに論理グループを作成できます。

したがって、ComponentGroupBoolのテーマ定数で動作し、これらのUIIDを与える必要があります。しかし、それはアンドロイドでそれに一致するスタイルがないので、上記の写真はAndroidのようには見えません。

group.setForceGroup(true)を使用して、OSに関係なくコンポーネントグループの表示を強制することもできます。

+0

すばやく答えてくれてありがとう!私はsetForceGroupを動作させることはできませんでした。(私がしたのは、Component.enclosedメソッドから返されたグループを取得してsetForcedGroup(true)を呼び出していたので、何か不足していると確信しています)そのスタイルが私にとって有益なので、デフォルトでAndroid上で動作しないようにしてください。 ComponentGroupのスタイルをテーマに追加するだけで、うまく動作しているようです。 – Padem

+0

「うまくいかない」をどのように定義しますか? UIIDが設定されましたか?これらのUIIDには、Androidにスタイリングがないことに注意してください。コンポーネントインスペクタツールを使用して、階層内のコンポーネントのUIIDを確認することができます。 –

+0

申し訳ありませんが、元のコメントで誤ったのは、フォースグループを使用することで、OSに関係なく、「外観」(iOS上での私の見た目と同じに見えるようになります)と思っていました。 UIIDは適切に設定されました。私は今テーマやスタイルで "遊ぶ"必要があります。助けてくれてありがとう! (私はあなたの答えをアップアップしましたが、私はここでかなり新しくて、私の投票は本当に数えません。;))) – Padem

関連する問題