1

私はほとんどひっくり返っています。複数のデバイス用のアプリを開発しようとしています。アプリはすべてのデバイスでほぼ同じように見えるはずです。私はこのようなレイアウトを作成しようとしました:

  • 最初に、Samsung Galaxy S Plus デバイスの標準レイアウト フォルダーにレイアウトを作成しました。これは、私が持っている唯一のハードウェア デバイスであるためです。
  • レイアウトはデバイス上で見栄えがします
  • その後、レイアウト ファイルを 1 つ取り、2.7in QVGA...5.4in FWVGA...7in WSVGA... などの使用可能な仮想デバイスを切り替えました。
  • 仮想デバイスを切り替えてレイアウトが見栄えがよくないときはいつでも、修飾子にロックを設定します最小の画面幅画面サイズ
  • その特定の仮想デバイスに適したレイアウトになるように変更を加えて保存しました。
  • Xamarin は のような新しいフォルダーを作成しますlayout-sw480dp-large。そのフォルダーには、最近変更されたファイルが表示されます
  • これを、標準レイアウト フォルダー内のすべてのレイアウト ファイルとすべての仮想デバイスに対して行いました。
  • 標準レイアウト フォルダに戻り、すべてのデバイスですべてのレイアウト ファイルをチェックします。すべてが素晴らしく見えます。
  • Samsung Galaxy S3 でアプリをテストしましたが、レイアウトがひどい、テキストビューが適切な場所にない、画像ビューが適切な場所にない、などです。
  • そのため、Xamarin スタジオに戻って、すべてのレイアウト フォルダーと各ファイルを確認しました。たとえば、フォルダー内layout-sw480dp-xlargeのレイアウトファイルは見栄えがよくありません。
  • 私はそのファイルを変更しましたが、奇妙なことが起こりました: 修飾子を含むレイアウト フォルダーにある同じ名前のすべてのファイルxlargeも変更されます (スクリーンショットを参照)。
  • あるレイアウト フォルダーを変更しても、他のフォルダーが変更されることはないと考えていました。これは Xamarin のバグですか?

だから私は3つの質問があります:

  1. レイアウトファイルを変更するこの奇妙な動作は xamarin のバグですか?
  2. さまざまなデバイス用のレイアウトを作成する最良の方法は何ですか (実用的なアドバイスをお願いします。複数の画面をサポートするサイトを知っています)
  3. Xamarin で Samsung S3 のレイアウトを作成する方法、Samsung S3 をエミュレートする仮想デバイスを xamarin で作成する方法

どうもありがとうございました。

Xamarin Studio のスクリーンショット

4

2 に答える 2

0

この問題について xamarin に通知しました。[リンク] ( https://bugzilla.xamarin.com/show_bug.cgi?id=13705 )。

複数のデバイスのレイアウトを作成する方法:

  1. 標準レイアウト フォルダーにレイアウトを作成します (通常の mdpi デバイスを使用します)。
  2. すべてのレイアウトが作成されたら、それらを xamarin 以外の別のフォルダーにコピーし、.axml を .xml に名前変更します。
  3. 私はEclipseを使用して、特定のフォルダーに代替レイアウトを作成します
  4. 代替レイアウト フォルダー内のすべてのファイルの名前を .xml から .axml に変更します。
  5. xamarin studio で代替レイアウト フォルダーを作成し、特定のファイルをインポートする
  6. 実際のハードウェア デバイスで実行してテストする

これは私にとってはうまくいきます。

于 2013-08-28T06:57:32.197 に答える
0

Xamarin Studio で axml ファイルを開くと、グラフィカルな表現とスクリプトの 2 つのオプションが表示されます。代替レイアウトを変更することでレイアウトを切り替えることができ、axml ファイルの左上隅近くで利用できるように切り替えることができます。カスタム仮想デバイスの作成では、必要なデバイスと同じ構成を設定し、AVD を作成します

于 2014-12-02T08:23:30.800 に答える