0

背景に米国の地図を表示するアプリを作成しています。マップをクリックしたいのですが、クリックした場所に小さな赤い点を作成したいと思います。ただし、マップの境界線の外側には作成しないでください。GridView を使用できますか? ありがとう。

4

1 に答える 1

1

USA マップを背景として Linear Layout を作成し、onTouchListenerその Linear Layout に設定するonTouchだけで、ユーザーがクリックした x 座標と y 座標に赤い点を追加するだけです。このようなもの:

public class MyAppActivity extends Activity {    

LinearLayout mLayout;
double x, y;    

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);       

    mLayout = (LinearLayout) findViewById(R.id.yourID); 
    mLayout.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {

            x = event.getX();
            y = event.getY();
            //Draw a ball using the x and y coordinates. You can make a separate class to do that.

            return false;
    });        

 }
}

xml は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/yourID"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/yourUSABackGround"
    >




</LinearLayout>

それが役立つことを願っています。

于 2012-07-16T20:28:01.067 に答える