2011-08-12 11 views
0

あなたはAndroidのシミュレータボンアプリを見たことがありますか?あなたはそのアプリをどうやって作りますか?たとえば、私はxmlレイアウトを使用してそれをやってみました。私は写真を分割し、特定の写真が押されたときに機能が発生するように、それを並べ替えて並べました。問題は、異なる電話機では、集合写真のサイズが画面外に広がっているか、または圧縮されていることです。イメージ/ビットマップ配置?

ビットマップを使用してsurfaceViewを使用して、個々のピクチャが画面のサイズに合わせて調整できるようにしました。私は、お互いの上に横たわっていない写真を作ることに問題があり、代わりに画面の下に行くために配置されています。私は最初の2つを取得することができますちょうど細かいRectのdstを指定すると、開始の高さは他の場所で終了しましたが、3番目と4番目は画面に表示されません。例えば私は使用しました

Rect dst = new Rect(0, 0, mWidth, mHeight/7); 

先頭にある最初の画像の場合。そして、第二の画像

Rect dst = new Rect(0, mHeight/7, mWidth, mHeight/3); 

ため

彼らとお互いの下に次の2枚の画像を配置について移動する方法がわからない(mHeightとmWidthは、キャンバスの幅と高さです)。試しました

Rect dst = new Rect(0, mHeight/7+(mHeight/3), mWidth, mHeight/7); 

これは動作しませんでした。正直なところ、それは本当に簡単に見えますが、私は確信していますが、私はちょうどイメージが私が望むように動作するように見えます。イメージ全体を残して、特定のスポットが選択されたときに何かを指定する方法があります(これは、すべての電話で同じ方法で機能します)。

これについてのお手伝いがあれば幸いです。どのように私が望む結果を得るための他のアイデアも非常に感謝しています。これをすべて読んでいただきありがとうございます。

答えて

1

さて、画面を左、上、幅、高さなどの領域に分割できます。 例 地域1(0,50,100,100) 地域2(100,50,100,100)。

そしてOnTouchListenerを追加してタッチ座標を取得し、それがどの領域に属しているかを確認するために使用します。私はそれが良い方法であるかどうかは分かりませんが、それは実行可能です。

+0

ありがとうございます。お勧めです。あなたはそれが各携帯電話の画像と正しく一致すると思いますか? – steven

+0

異なるサイズのイメージを使用し、それを異なるドロウアブルフォルダに配置する必要があります。 drawable-ldpiでコピーを1つだけ保持すると、その画像はより大きな電話で自動的に拡大/縮小されます。 – blessenm

+0

私はそれを調べます。ありがとう。 – steven