2013-10-26 3 views
0

У меня есть прокрутка, внутри которой у меня есть 5 изображений. IMV1, IMV2 ... IMV5. Теперь при прокрутке, один за другим все изображения отображаются на экране устройства. Теперь у меня есть ящик с 5 кнопками, например 1,2 ..5.как прокрутить до определенного места экрана без фактической прокрутки

Now take us a scenario, 
Currently I am on first imageview. Now when I click on button 5 in the drawer. 
I need IMV5 to show on the screen without scrolling.It can be obtained 
through smoothScrollBy/scrollTo to y equal to 5*screenHeight. But here it 
scrolls through all intermediate imageviews. 

Please note,I don't wish to affect scroll feature.For above example, 
After I reach IMV5,when I scroll up,it should scroll to IMV4 and so on. 

Есть ли способ его получить. Спасибо заранее.

P.S. Если вам нужно больше разъяснений, пожалуйста, дайте мне знать.

+0

так почему вы используете Scrollview? вам все еще нужна ручная прокрутка для просмотра всех изображений? – pskink

+0

Да ... базовая функциональность - ручная прокрутка. Но также нужно интегрировать в нее функциональность ящика, которая не требует прокрутки всех изображений, чтобы достичь окончательного изображения. – vijay

+0

ОК, поэтому ваша миссия с SV и необходимая функциональность невозможна – pskink

ответ

1

Вы можете достичь этого легко, используя ListView вместо ScrollView.

Что вы можете сделать, это: -

  1. Добавить все imageviews в ListView.
    • Это выполнит ваше требование прокрутки, так как ListView автоматически обрабатывает прокрутку, если размер его содержимого больше, чем размер экрана.
  2. Теперь используйте listView.setSelection(position) при щелчке на кнопках.
    • Это будет прокручиваться к выбранному ImageView, не давая перечисляя влияние

Надеется, что это помогает.

+0

кажется прекрасным ответом. Но мне нужно работать с ScrollView. Благодарю. – vijay

1

Это может быть достигнуто также с помощью ScrollView .. Все, что вам нужно сделать, это получить View в этом положении. Затем вызовите requestFocus() на полученный вид.

Например: - Если вы нажмете кнопку 5, затем IMV5.requestFocus() сделает это за вас

+0

кажется лучшим решением ... – bakriOnFire

+0

не работает. Сделал. case Button5: IMV1.clearFocus(); IMV5.requestFocus(); – vijay

+0

попробуйте очистить фокус от нажатой кнопки. Возможно, он все еще находится в фокусе, из-за которого изображение не может получить фокус. – d3m0li5h3r

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