2017-01-12 16 views
1

enter image description hereAndroid Studioでさまざまな画面解像度のXMLレイアウト作成を自動化できますか?

この写真は本質的にすべてを言います。私がいつもやってきたのは、最初のレイアウトファイルからさまざまなデバイスや画面解像度の異なるレイアウトタイプを手動で作成し、親指が急上昇するまで無造作にコピーアンドペーストしながら再フォーマットします。デフォルト、-sw480dp、-large、-xlarge、私のアプリのニーズに応じてなど。たとえば、-sw480dpから-sw720dpまでのサポートを追加すると、古い携帯電話を使用している友人の中には、NullPointerExceptionがなくてもアプリを開くことができ、まったく使用できなくなってしまっています。しかし、これは非常に面倒なことです。特に、他のすべてのバージョンにも表示したいレイアウトファイルを変更する場合は、特に面倒です。要するに、サポートされているデバイスの数が多いほど肯定的なレビュー、時間の経過とともにアプリの冗長な否定的なレビューは少なくなるということです。

ここで私の問題は、提供されたスクリーンショットに示されている強調表示されたレイアウトに対して、これらのレイアウトをすべてサポートしたいということですが、私は実際にcomment_listview_itemのためにやったことをもう一度やりたくありません。

私はフルタイムのAndroid開発者である同僚とデザインエージェンシーで仕事をしたことはありません。このテーマについての良いチュートリアルはまだありません。私が知る限り、どのようなプロセスでも、私がここで成し遂げたいものを自動化するのは謎です。

ここで提供されているスクリーンショットで強調表示されているレイアウトから始めて、新しいレイアウトファイルを作成するプロセスを自動化することができますか?私は、このプロセスが真に私が現在夢中になっているすべてのコピー・ペーストと再フォーマットを含むと信じることを拒否します。

+0

本当にこれらのすべての亜種が必要ですか?それらの違いは何ですか? –

+0

正直言って、私は知らないし、それは私が把握しようとしているものです。たとえば、v21はツールバーの標高をサポートし、v16はサンセリフライトフォントをサポートし、デフォルトのレイアウトファイルはどちらもサポートしません。私はそれぞれの定義された画面解像度ごとにそれらのそれぞれを持っていることが望ましいことを知っていますが、同じことを達成するためのより速く、より自動化された方法がありますか? 720dpで-sw480dpのサポートを追加すると、友人が古い電話のためにアプリを開くことさえできなくなってしまうのを修正したようだ。 Androidのドキュメントは素晴らしいですが、デザイナーは実際に何をしているのでしょうか? – santafebound

答えて

1

実際には、レイアウトごとにすべてのXMLファイルを作成する必要はありません。面白いことにAndroidは自動的にデバイスに応じて画面のサイズを調整します。しかし、画面が小さすぎるか解像度が低すぎると、XMLコンテンツがそのようなデバイスで正しく表示されないことがあります。作業の正確さのために、小さく、大きく、超大画面用のレイアウトを作成することができます。横長モードを調整する場合は、別のxmlを作成する必要があります。 https://developer.android.com/guide/practices/screens_support.html#support

1

私は、幅広いサイズのカテゴリ(小、中、大、大規模)ごとに4つのバージョンのレイアウトを作成し、残りの部分をAndroidシステムで処理できるようにしていることが判明しました。実際には全面的に働いています。

2〜3レイヤーを使用している場合、重みを使用することに加えて、パフォーマンスの問題になることはありません。実行時にデバイスの画面幅と高さのパーセンテージを使用して、 。コード例を後で投稿します。

関連する問題