2012-03-29 4 views
0

Я хотел бы узнать, как преобразовать координату касания, которую я получаю в форме с плавающей точкой, в целое число. Я довольно новичок в программировании на Java и Android. Я хочу, чтобы определить прямоугольник вокруг моей сенсорной области, а затем использовать что-то вроде этого:Как преобразовать координаты касания от float в int?

Rect touchArea = new Rect(); //I have only float coordinates to define this rect 
    Rect predefinedRect = new Rect(); //This rect is defined with integers 
    if(touchArea.intersect(predefinedRect)){ 
     //do something 
    } 

Также есть не метод, как Rect (RecF), по крайней мере, я не нашел. Итак, что я могу сделать, чтобы использовать этот метод .intersect()?

ответ

0

Там является RectF конструктор, который принимает Rect , Поэтому вы можете использовать это, а затем использовать пересечение в классе RectF.

Если вы хотите конвертировать поплавок Int вы можете просто сделать

int i = (int)1.5; 
// i = 1 

, но будьте осторожны с тем, как поплавок просто урезается и не округляется.

+0

Ok, то как андроида система координат выглядит? Насколько я понимаю, центр экрана равен (0,0), а затем он переходит на 1 со всех сторон. Я ошибаюсь? –

+0

Извините, но я не знаю ответа на ваши последние вопросы. И это не форум, поэтому вы не должны задавать в комментариях не связанные вопросы. Если вы действительно не можете найти ответ (но вы это сделаете), задайте другой вопрос. – softarn

+0

И если этот ответ правильный, отметьте его как правильный ответ. – softarn

0

Если вы пытаетесь получить целую часть буя вы можете бросить, как:

float a = 1.2; 
int b = (int) a; 

это сделает б иметь значение 1.

0

Если вам это нужно округлить, что вам, возможно, так как вы говорите о сенсорных координат, вы должны использовать Math.Round()

Смежные вопросы