2012-08-05 24 views
6

デバイスの幅と高さを取得し、プログラムに従ってイメージ/ボタンサイズを設定するのは悪い習慣ですか?Android:画面サイズに応じてプログラムでサイズを調整する

は、私はそれが(inacuranciesの上に)私にいくつかのデバイス上で奇妙な結果を与えるとして、それは不正確なあなたの経験が評価されて

レイアウトおよび密度のために別のフォルダを使用することを見つけます。 ありがとうございました

答えて

2

はい、アンドロイドのすべてのサポートされている画面のレイアウトを作成することは非常に有線です。そして、市場で入手可能な画面解像度がたくさんあります。

私はデモを作成して、それは私のために働く。私は高さと幅が同じボタンを1つ作った。今私はそれが完璧に見える1つの画面ごとに必要な高さと幅を設定している。

その後、私はその画面でそれを可能にするために必要なピクセルを計算し、それに基づいてすべての画面にそれを適用しました。

これは、あらゆる密度と解像度のすべてのデバイスで素晴らしい動作します。

実行時に生成されるビューがあり、その高さと幅を設定する場合は、高さと幅の比率を計算して使用するのが最善の方法です。

あなたのお役に立てば幸いです。

コーディングをお楽しみください。 。 。 。

:)

+0

私はこの実用的なコメントが大好きです。それは間違いなく意味をなさない。私は比率の側面を理解していますが、最初にどのように幅を決定するのですか?私がしていることは、ボタンが見栄えのためにどれだけのピクセルが必要かを調べようとしていることです。次に、画面の総ピクセル数からパーセンテージが表示されます。最後に、この割合を使用して、プログラムごとにすべての画面のボタン幅を計算します。それは理にかなっていますか? – Snake

+0

はい、動作します。ワンタッチでボタンの高さと幅をプログラム的に設定するだけです。一度ニースに見えるなら、そのデバイスのスクリーン解像度に基づいて高さと幅の割合を数えます。配給を得た後。 Javaファイルでその量を使用します。すべての画面サイズで機能します。 –

+0

ボタンのピクセルを計算する方法は?あなたはその作品のコードを提供できますか?助けていただければ幸いです – User42590

1

まあ、ほとんどの場合、レイアウトが複雑になるか複雑になり、プログラムで位置を計算するのが難しくなります。

また、インターフェイスのもの(graficレイアウトなど)を使用することができないため、他の人や自分自身が、計算方法を理解できないため、難しいでしょう彼らはXMLでビューを見る場合。再編成、ポジションの変更は痛いかもしれません。

また、プログラムでディメンションを計算してストレッチしても見栄えが悪い場合は、固定サイズのビットマップを頻繁に使用します。少なくとも、異なるビットマップセットが必要であり、それに応じてロードする必要があります。

ルールのある相対レイアウト(親の下などにある/ alignのような)、重さのある線形レイアウト、およびdip(密度非依存ピクセル)を使用すると役立ちます。他の方法では不可能な場合にのみプログラムレイアウトを行うべきです。それとも、本当に本当に本当に物事を楽にするいくつかの特定のケースでは。

+0

これは本当です。しかし、それによって、私は賞金でつくった次の質問に遭遇しました。 http://stackoverflow.com/questions/10378030/two-devices-similar-densities-yet-different-image-sizes – Snake

関連する問題