1

一部の 7 インチ Android モデルでアプリのテストを開始したときに奇妙な動作に遭遇しました。他の人が同じ問題を見つけているかどうか、人々が修正として何を推奨しているかを知りたいです。

詳細は次のとおりです。

アプリケーションはタブレットを完全にサポートしており、レイアウトの修飾子でトリガーされます。xlarge デバイスはタブレット モードになり、複数のフラグメントが画面に表示されます。

新しい Android バージョンでは、sw600dp 修飾子と xlarge 修飾子を使用してフローの UI を変更する変数を設定する値もあります。

問題:

私は現在、Kindle Fire と RIM BlackBerry Playbook でテストしており、今後の Google Nexus タブレット (またはそれが何と呼ばれるか) やその他の 7 インチ フォーム ファクター デバイスもサポートしたいと考えています。

プレイブックと火の両方に、7 インチの画面と 1024x600 の画面解像度があります。

ただし、プレイブックは Android をだまして特大デバイスであると思わせるように見えますが、火はそうしません。

タブレットも標準の UI も問題なく動作しますが、タブレット モードの方が優れており、7 インチ デバイスで使用するのに適しています。ただし、レイアウトを大きな修飾子にプッシュして、そのタブレットモードを起動すると、ノートやその他のかなり小さいデバイスでも取得できます。

Android 4x では、sw600dp やその他の修飾子を使用できますが、古いバージョンはどうですか? 7インチのデバイスはタブレットのように動作するはずだと思いますが、たとえばNoteはどうですか..

このシナリオのベスト プラクティスは何ですか? プレイブック レポート xlarge に関する私の観察は正しいですか?

4

1 に答える 1

3

ただし、プレイブックは Android をだまして特大デバイスであると思わせるように見えますが、火はそうしません。

デバイス メーカーは、サイズと密度に関してデバイスをどのバケットに入れるかを選択する側です。これは、Play ストアを必要としない RIM や Amazon などのメーカーにとって 2 倍になります。したがって、Play ストアが指示する特定の互換性要件に従う必要がないため、Google のガイダンスに鼻を鳴らしても構いません。

このシナリオのベスト プラクティスは何ですか?

「最高」とは言えません。

ただし、特定のサイズを使用するために一部のレイアウトをオーバーライドしたい特定のデバイスがある場合は、次のようにします (通常のケースで使用するレイアウトが として知られていると仮定しますR.layout.main)。

ステップ #1:res/layout/main_funky.xmlへのシンボリックリンクまたはハードリンクとして作成しますres/layout-xlarge/main.xml(および などについても同様です-land)。

ステップ #2: Java コードで、R.layout.main(たとえば、onCreateView()の) を参照する場所で、モデルごとにこれらの奇妙なデバイスを検出するためにデータをFragmentロードするか、データに依存するかを決定しR.layout.mainますR.layout.main_funky。は通常のレイアウトの 1 つであるandroid.os.Buildため、ウィジェットに依存するすべてのコードは、この選択の影響を受けません。R.layout.main_funkymain

ステップ #3: 特定のケースでは、ステップ #1 と #2 に MMPD (魔法の Maven ピクシー ダスト) を追加します... :-)

プレイブック レポート xlarge に関する私の観察は正しいですか?

私は Playbook を購入しましたが、RIM の配布モデルは...不快であると判断し、最低限のことをして本の章を作成しました。-large、 、またはその他のものかどうかは確認していませ-xlargeん。

そうは言っても、NOOKタブレットIIRCはこれに苦しんでいます(-xlargeむしろそうであると主張しています-large)。

-sw600dpそのようなことが実現した場合、Google Nexusタブレットがサイズバケットを正しく尊重し、それに加えて、親族が機能する十分に新しいAndroidバージョンを実行することを期待します.

于 2012-06-04T23:22:43.507 に答える