我正在创建一个应用程序,它将作为背景美国地图。我想点击地图,无论我点击哪里,我都想创建一个小红点。但它不应该在地图边界之外创建。我可以使用 GridView 吗?谢谢。
问问题
408 次
1 回答
1
您可以创建一个以美国地图为背景的线性布局,然后设置一个onTouchListener
线性布局,在用户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 回答