、私は試合の親を使用し、レイアウトのためだけでなく、それぞれのTextViewなどのすべてのコントロールのためのコンテンツevrywhereをラップしている
すべての異なる画面サイズと電話で同じになりますいくつかのグーグルがこれを簡単に手助けするだろう。私は、異なるサイズをサポートするためのさまざまな方法があるので、あなたがそれを読むことをお勧めします
https://developer.android.com/training/multiscreen/screensizes.html
:ここでは、Googleであなたの質問を検索したときにポップアップする最初のものです。最初にwrap_contentとmatch_parentを使用しています。これらの2つは、そのビューのすべての空き領域を埋めるか、必要最小限のスペースしか使用しません。また、weight、layout_gravity、gravity、および画面サイズに関係なく機能する他の位置指定属性を使用することもできます。 relativeLayoutを使用すると、right_of、left_of、belowなどの属性を使用してレイアウトを作成できるので便利です。
あなたはさまざまな画面サイズごとに異なる振る舞いをしたい場合にも、はるかに複雑なことで得ることができます。画面サイズに応じてビューをレイアウトする方法の複数のオプションを作成できますが、作成するコードが大幅に増えます。それははるかに創造的な自由を与えるだけでなく、もう少し努力を要する。上記のリンクを読む
は、より多くの例で、より詳細になります。異なる画面サイズと異なる画面密度をサポートするときに最大の問題は、ハードコードされたピクセル値を決して使用しないことです。異なるスクリーンのピクセル量が異なるため、setX(1250f)などの位置を使用して位置を設定しないでください。レイアウトが画面ごとに異なる場合があります。あなたが特定の測位のブルートフォース方法を探しているなら、あなたはいつもユーザーのデバイスの幅と高さをつかんで、それを測位計算に使うことができます。画面の高さと幅を保存してから、setX(fullWidth/4)などのような操作を行い、画面の幅の4分の1をビューに配置します。きれいではありませんが、どのデバイスでも機能します。
Googleのキーワード:アンドロイドは複数の画面をサポートしています –
okeyさんに感謝します。しかし、私の問題は..私のプロジェクトにはアクティビティとフラグメントの両方が含まれています...フラグメントのためにそれを行う方法が異なりますメソッドもアクティビティとフラグメントに –
何か違いがありますか?フラグメントはアクティビティの一部です。 –