У меня есть горизонтальный вид прокрутки, у меня также есть relativelayout как его ребенок. Я добавляю детские представления этого релятивирования динамически. У меня есть текст заголовка, который должен обновляться при прокрутке в соответствии с соответствующими дочерними представлениями. Как я могу это сделать, потому что я могу получить текущий сфокусированный элемент в горизонтальном прокрутке. Пожалуйста, дайте мне какое-нибудь предложение или примеры, которые могут быть полезны для меня, спасибо ..Как изменить заголовок TextView Text при прокрутке горизонтального scrollView?
ответ
Если вы создаете это дочерние элементы динамически, вы можете установить для них тег с содержимым, которое вы хотите показать в заголовке TextView
.
//Creating RelativeLayout childs
TextView newChild = new TextView(this).
newChild.setTag(textToShowWhenThisItemIsFocused);
Тогда, если вы знаете, какой предмет сфокусирован, вам просто нужно получить тег.
// "selected" is the focused view
header.setText((String) selected.getTag());
Когда использовать второй код, зависит от вашей реализации. Поскольку вы не предоставили какой-либо код, сложно знать, как контролировать прокрутку, но вы можете контролировать Touch Events
и обновлять заголовок, когда пользователь перемещает палец по экрану (вы также должны учитывать инерцию после пользователя останавливает нажатие).
EDIT: Как получить сфокусированный View
Прежде всего, у меня только есть опыт делать такие вещи, как это, так что я не уверен, если это будет работать, или если есть лучшие способы сделать это , Я просто скажу вам, как я подхожу к этой проблеме.
Для того, чтобы знать сфокусированный взгляд, вам нужно знать координаты, в которых должен находиться этот вид. Поскольку это горизонтальный ScrollView, нам понадобится координата X. Так как мы хотим, представление в середине ScrollView я хотел бы сделать это следующим образом:
private int centerSV;
private ScrollView mScrollView;
...
centerSV = mScrollView.getWidth()/2;
Теперь у нас есть центр ScrollView. Теперь мы должны знать, какой ребенок находится в этом положении:
private int getFocusedChildId(){
for(int i=0; i<mChilds.length; i++){
int childLeftCoord = mChilds[i].getLeft() - mScrollView.getScrollX();
if(childLeftCoord <= centerSV && centerSV <= childLeftCoord + mChilds[i].getWidth())
return mChilds[i].getId();
}
// No view found in the center, maybe ScrollView wasn't full. Return the first one
return mChilds[0].getId();
}
Опять же, я не уверен, если это будет работать, это просто идея о том, как подойти к вашей проблеме. Кроме того, вы должны принять это во внимание:
Вы должны указать OnTouchListener
для вашего HorizontalScrollView
и в это onTouch()
метода определения типа MotionEvent
и изменить цвет ваших TextView
«S к соответствующим
- 1. Android: Как отключить вертикальную прокрутку ScrollView при прокрутке горизонтального экрана?
- 2. Как изменить TextView text
- 3. Обнаружение при прокрутке scrollView
- 4. изменить размер Заголовок при прокрутке пользователя на
- 5. Центр вертикального и горизонтального TextView в ScrollView Android XML
- 6. Статический заголовок при прокрутке
- 7. Изменить заголовок фона на прокрутке
- 8. андроид горизонтального Scrollview
- 9. ScrollView Игнорировать OnTouch при прокрутке?
- 10. Предотвращение обхода onFocusChanged при прокрутке ScrollView
- 11. Вибрация в scrollview при прокрутке
- 12. Как заполнить заголовок при прокрутке вправо?
- 13. Как изменить свойства просмотров внутри ScrollView при прокрутке и активации при прокрутке?
- 14. Прокручиваемый TextView внутри ScrollView
- 15. Как сделать содержание TextView ГОРИЗОНТАЛЬНОГО
- 16. Как перемещать макет при прокрутке scrollView?
- 17. Как изменить заголовок моего сайта при прокрутке вниз?
- 18. Как сделать заголовок с Scrollview
- 19. Scrollview textview
- 20. Textview Scrollview
- 21. Как изменить цвет фонов текста при прокрутке?
- 22. Textview не отображается после горизонтального RecyclerView
- 23. Как скрыть TextView и показывать только при прокрутке
- 24. реализовать onClickListener для горизонтального ScrollView
- 25. Изменить размер заголовка при прокрутке
- 26. Отображать заголовок поверх изображения внутри горизонтального прокрутки. Программно
- 27. Заголовок таблицы при прокрутке вниз
- 28. TextView не прокрутке Плавно
- 29. Невидимый TextView начинает проявляться при прокрутке ListView
- 30. Текст в TextView исчезает при прокрутке
Как могу ли я знать, какой предмет сосредоточен, пожалуйста, дайте мне несколько советов по этому вопросу. – user2349315
Я думал, что вы уже делали это: «Я могу получить текущий сфокусированный элемент в горизонтальном прокрутке». Мне нужно знать пару вещей о вашем приложении. Под «сфокусированным элементом» вы подразумеваете «Вид», который находится прямо в середине ScrollView? –
Да, точно, я хочу получить сфокусированный идентификатор вида, который находится в середине горизонтального прокрутки. – user2349315