Я работаю над Android-приложением Compass, где у меня будет изображение компаса с буквами, указывающими разные направления («N» для «Север», «E» для Востока и т. Д. на). Пользователь мог нажать любую букву и получить информацию о заданном направлении. Я ищу способ привязки сенсорных координат к изображению, т. Е. Если пользователь нажимает букву «N», они всегда будут получать одинаковые координаты, не имеющие отношения к тому, с которым обращается телефон. Ниже приведен код, который я использую сейчас.Как привязать координаты касания к изображению
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.compass_fragment, container, false);
compassView = (CompassView) v.findViewById(R.id.compass_view);
compassView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motion) {
Log.i(TAG, "In onTouch");
// Get the action that was done on this touch event
switch (motion.getAction())
{
case MotionEvent.ACTION_DOWN:
{
return true;
}
case MotionEvent.ACTION_UP:
{
float x = motion.getX();
float y = motion.getY();
Log.i(TAG, "ACTION UP x = " + x + " y = " + y);
break;
}
}
// if you return false, these actions will not be recorded
return true;
}
});
mSensorManager = (SensorManager)getActivity().getSystemService(Context.SENSOR_SERVICE);
accelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
magnetometer = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
return(v);
}
Знаете ли вы, как вращать изображение, и вы не знаете, как связать его с прикосновением? – Gina
Джина, нет, я не знаю, думаю, иначе я бы не стал задавать вопрос. Я новичок в Android, все еще изучая, как все работает вместе. Похоже, для вас очевидно, как это сделать, я был бы признателен за то, что вы получили от вас некоторые указания. Спасибо. – ITango
Затем выясните, как повернуть изображение. Для «N» или «E» сделайте его объектом, таким как Button/ImageButton, чтобы вам не нужно было знать координаты. – Gina