dポイントプレゼントキャンペーン実施中!

androidの間違い探しアプリを作ろうと思っています。

イメージ的には背景用のImageViewに画像を表示して、
間違っている箇所にカラのImageViewを載せ、
ImageViewがクリックされたら正解というような仕組みにしようと思っています。

そこで、下記コードを書いています。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
>


<ImageView
android:id="@+id/mainImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/stage1"
></ImageView>

<ImageView
android:id="@+id/onImage"
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_marginLeft="240dp"
android:layout_marginTop="180dp"
android:onClick="seikai"
/>

</RelativeLayout>

が、解像度や画面サイズによってカラのImageViewの場所が変わってしまい、うまくいきません。
resフォルダ内に
「layout-land-hdpi」
「layout-land-ldpi」
「layout-land-mdpi」
「layout-land-xhdpi」
フォルダを作り、解像度ごとに位置の微調整は行なっていますが、
画面サイズが異なるとやはりずれてしまいます。

解像度、画面サイズにかかわらず位置を固定する方法はないのでしょうか。
ない場合はやはり画面サイズと解像度すべての条件のxmlを作成する必要がありますか。

また、そもそも
「イメージ的には背景用のImageViewに画像を表示して、間違っている箇所にカラのImageViewを載せる」やり方が間違っているのでしょうか。

A 回答 (1件)

試してませんが、ImageViewに設定された背景イメージは、画面サイズに応じてリサイズされたりしませんか? それに、ImageViewを重ねあわせて……というのも、どうなのか。

多分、誰も回答しないかもしれません。そんなこと、普通しないので。

こうした場合、たいていは新しいViewを定義して、そこでコードでイメージを描画していくものです。これならイメージの位置もサイズも重ねわせの仕方もすべて自分で制御できます。また描画スピードも違いますし。グラフィック関係は、コンポーネントを組み合わせるのでなくすべてコード処理するのが一番です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!