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