Получение моего приложения, чтобы показать все или ни одного изображения в виде прокрутки - PullRequest
0 голосов
/ 04 августа 2011

В настоящее время у меня есть 10 изображений в горизонтальной линии в отдельном табличном представлении, которое является частью представления прокрутки. Теперь, если я прокручиваю вправо и отпускаю, приложение остановится, где бы оно ни было (иногда, когда оно находится на полпути после изображения, поэтому отображается только половина этого изображения).

В идеале, то, что он должен делать, это «приходить в норму», когда я отпустил палец, чтобы показать все изображение, которое у него есть, или его нет. Я думаю, что самый простой способ сделать это - решить, что делать, основываясь на том, как далеко он прокрутился. Например, если у меня есть изображение шириной 201 dp, и я прекратил прокрутку, когда 150 dp этого изображения все еще было видно, оно должно отскочить назад, чтобы показать все изображение. В качестве альтернативы, если было видно только 20dp изображения, отскок назад должен вернуться к тому, чтобы не показывать изображение и вернуться к другому, который будет на экране (как это делает приложение BBC).

Еще один способ объяснить это - подумать об игровом автомате. Когда вы вращаете барабаны, он никогда не остановится на полпути на предмете, он всегда остановится в правильном месте, чтобы показать все это. Это то, что мне нужно.

Заранее благодарю всех, кто может мне помочь с этим, я очень ценю это!

1 Ответ

0 голосов
/ 04 августа 2011
if(scrollX % imageWidth < imageWidth / 2){
    scrollX -= scrollX % imageWidth;
}else{
    scrollX += (scrollX % imageWidth) - imageWidth;
}

Это выполнит округление, где scrollX - это то, как далеко вы прокрутили по оси x, а imageWidth - ширина всех ваших изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...