でかすぎる壁

  06, 2014 14:09
ずーーーーっと
eclipseという
アンドロイド アプリの開発ソフトと
にらめっこしてます。

ずーっと解けない
難問があるんです。

それがコレ
↓↓↓↓↓
赤いのが、クリックポイント


レイアウトです。
アンドロイドは機種が多くて、
それぞれ画面サイズが違うので、
こうやってズレちゃうんです。

脱出ゲームは、背景画像に合わせて
透明なボタンを配置するわけで、
ズレちゃうと、ゲームにならないんですよね。

でも、ベースがXMLだから
配置が、センタリングとか、右寄せとか
とってもアバウトなんですよね。

px単位で指定すると、
解像度でずれてしまうのですが、
pxに変わるものとして、
"dp"というアンドロイド独自の単位がありまして、
解像度の違いを吸収してくれるらしいんです。

ということで、中央を基準に
背景画像を配置して、
ボタンを中央に配置してから
マージンとボタンサイズを
dpで指定しているんですが
やっぱりずれる。。。

たぶん、
アスペクト比が原因なんだろうなぁ。。。

あぁ・・・どなたか・・・
「こうすればいいよ!」
というスゴ技をお持ちでしたら
ご教授頂けませんでしょうか・・・><。

(何もでませんけど・・・w)


スポンサーサイト

Comment 3

泉  

No title

androidの解像度違いは凄いメンドクサイですよね・・・
スゴ技は持ってないですけど、私なりの方法を書いてみます(^^;)

xmlはRelativeLayoutにし、子ウィジェットとして背景画像やクリックゾーンを配置していくやり方をとっていました。
私の場合もcenterを基準にすると意味不明なレイアウトずれが多かったんで、子ウィジェットの属性に
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
を指定して、全て左上を基準にしてました。
この方法だと背景画像とクリックゾーンのズレは無くなるんですが、端末によっては画面に変な余白が出てしまったりするので、dpの数値を変えたxmlファイルを1アクティビティに対して2種類ほど用意し、端末の解像度ごとに大雑把に振り分けてました。
私は面倒だったんで2つだけでしたが、多ければ多い程、綺麗に対応出来る端末も増えると思います。
それでもどうしてもカバーしきれない変わった解像度の端末のものは、マーケット上からキックして弾いてました。

独自の方法なので、もっと良い方法はあると思いますが、少しでも参考になれば(^^;)

Edit | Reply | 
泉  

No title

あ、RelativeLayout駄目でしたか^^;
でも問題解決されたようで、良かったです。

データ消えるのは、悲しいですね・・・。
私も、マーケットにアップしてるアプリのデータで一つ、見つからなくて、見て見ぬ振りしてるのがあります。笑

でわでわ、開発頑張って下さいね~^^

Edit | Reply | 
g  

No title

いつ個素晴らしいゲームをありがとうございます
暇な時や、イライラした時に遊んでリラックスしてます!これからもがんばってください!

Edit | Reply | 


↑公開していいよ!という方はチェックを外してください。

What's new?