Android アプリ、背景、およびいくつかのボタンを作成しました。私は自分の Galaxy S デバイスでアプリを実行していますが、ボタンを配置した場所にデザインしたので問題ありません。仮想デバイス Nexus4 で同じアプリを起動すると、ボタンが常に少し上に移動します。
原因は何ですか?すべてのデバイスのボタンが同じ場所に留まるようにするにはどうすればよいですか?
Android は解像度の異なる複数の画面を持つ複数のデバイスで実行されているため、それらをサポートする方法は次のとおりです: 複数の画面のサポート
基本的に、次の画面解像度があります。
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
それらすべてをサポートするには、Resフォルダーに、サポートする画面に応じてフォルダーを作成する必要があります。
layout-xlarge
layout-large
layout-normal
layout-small
その後、最終的なlayout_file.xmlをそれらすべてにコピーし、グラフィカルモードで開き、ボタンを再配置して画面上で見栄えを良くします。画面の解像度に応じて、Android はデバイスの解像度に近いレイアウトを選択します。さまざまなデバイスまたは仮想デバイスでテストして、見栄えが良いことを確認してください。
問題は、次のようなボタンに独自の定義済みサイズを使用できることです。
Android:layout_width="80dp" Android:layout_height="40dp"
および layout_marginTop、Left、Rigth 属性
小さな画面のモバイルから大きな画面のタブレットまで、画面の向きによって独自の値が異なるためです。
最高の文化は、線形レイアウトに wrap_content、fill_parent、match_parent、および layout_weightsum を使用する習慣です。