私は、Androidが同じアプリケーションの異なる画面にUI要素を再配置する方法を見つけようとしています。私はAndroid2.2の音楽プレーヤーでいくつかのテストを行ってきました:(
出典:simplehelp.net)
さまざまな画面サイズでのMediaPlaybackActivityの最初の画像ボタンの位置(左上隅)は次のとおりです。画面1(解像度:480x800、密度:240dpi):ピクセル単位の座標:345、109画面2(解像度:240x400、密度: 120dpi):ピクセル単位の座標:173、53画面3(解像度:320x480、密度:160dpi):ピクセル単位の座標:230、46
私の質問は、どの画面でもUI要素(この場合はボタン)の座標が与えられた場合、他の2つの画面でその要素の座標を予測することは可能ですか?pxからdpに変換してから、pxに戻そうとしましたが、機能しません(近いですが)。これが私が試したものです。
画面2のインデックス0の画像ボタンの位置(ピクセル):173、53画面2のインデックス0の画像ボタンの位置(dp:230.66、70.66()(この式を使用:px = dp *(dpi / 160)私はここで見つけました)ピクセルの画面1のインデックス0の画像ボタンの位置:346、106
ここは非常に近いことがわかりますが、これと同じ式を使用してピクセルを画面1から画面3に変換すると、230、72.66が得られるため、y軸の差が非常に大きいことがわかります。上のバーがy軸に影響を与えると思いますが、なぜそのような違いがあるのかわかりません。
私はここで何か間違ったことをしていますか?UI要素の新しい場所とサイズを予測する方法はありますか?Androidはどのようにビューを再配置しますか?
前もって感謝します。