Нахождение ширины и высоты обзора для ограничения границы перемещения изображения с помощью жеста - PullRequest
1 голос
/ 02 сентября 2010

Я использовал реализацию жестов в своем приложении, мой объект отлично двигается по всему экрану, во время fling, scroll..etc, но иногда мой объект выходит из поля зрения и он исчезает, теперь мне нужно ограничить границумой объект жеста, я поместил этот жест в view, я пытался получить width и height представления `и пытался ограничить, но я не могу найти это правильно, все еще объект;выходит за его границы ....

Мой видоискатель (макет, в котором размещен жест), я попытался получить ширину и высоту viewholder.getWidth(), viewholder.getHeight(), но оба возвращают 0,

Я знал, что где-то ошибся, может кто-нибудь исправить меня, как я могу двигаться дальше

framelayout = (FrameLayout) findViewById(R.id.LinearLayout_DrawCircle);
framelayout.addView(new DrawTarget(this)); // View 1 (Draws Concentric circle)
framelayout.addView(gestureaction); // View 2 (Draws a bitmap and invokes gesture that can move around)
//trying to find the `width` and `height` of the view, so that movement of object can be restricted
 px = framelayout.getWidth();
 py = framelayout.getHeight();
 Log.i(TAG,"Width =" +px + "," + "Height = " +py); //return 0,0

Пожалуйста, дайте мне знать, как действовать дальше ...

Спасибо взаранее

1 Ответ

0 голосов
/ 02 сентября 2010

В андроид представлению назначаются ширина и высота только после завершения рендеринга.Так что, если ваши виды не отображаются по крайней мере, как только им не будет назначена ширина или высота.Решение вашей проблемы может заключаться в том, что вы задаете минимальную высоту и ширину вида, чтобы у вас было по крайней мере что-то, с чем можно изначально работать, и после того, как ваши виды будут отрисованы, у вас будет ширина и высота вида, с которым можно играть.

...