2015-05-26 2 views
-2

У меня проблема с Android ListView. Мой вид состоит из ListView и двух плавающих кнопок внизу. Эти две плавающие кнопки перекрывают последний элемент ListView. На стороне iOS по умолчанию вы можете перетащить последний элемент ListView в середину представления, и таким образом можно увидеть, какой элемент он есть. Когда вы отпускаете последний элемент, он прокручивается назад в нижней части страницы. В части Android по умолчанию последний элемент ListView не перетаскивается в верхнюю часть, так что после него будет создано некоторое пространство. Любые идеи о том, как можно добиться такого поведения?Android ListView прокрутите до середины окна

+1

listView.addFooter (View); – Budius

+1

Android не имеет возможности (изначально) отскок назад, как это делает iOS. Таким образом, вам придется либо вручную добавить больше места в представление, либо использовать метод @Budius. –

ответ

0

Это на самом деле не поведение по умолчанию вы хотите на андроид, однако я считаю, что можно достичь этого, используя следующий метод: https://stackoverflow.com/a/12424780/2350917

Я никогда не пробовал это, хотя, так расскажите, как вы попали на ,

Edit:

@Override 
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) { 
    if(scrollY < 0) { 
     smoothScrollToPosition(0); 
    } else if(scrollY > MAX_SCROLL) { 
     smoothScrollToPosition(getAdapter().getCount()); 
    } 
} 

Edit 2:

Лучший способ для решения этой проблемы и следовать андроид руководящих принципов, будет показывать кнопки плавающей действия, когда вы получаете на экран списке следует, а затем сделать они исчезают при прокрутке вниз. Когда вы прокрутите вверх, они появятся снова. Таким образом вы можете увидеть содержимое последнего элемента списка.

Этот метод будет работать, если не обязательно показывать плавающие кнопки действий ВСЕГО.

+0

Да, возможно, ваше второе решение достигнет наилучшего результата. Думаю, я об этом подумаю. Благодаря! – efomo

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