расширяемый вид списка или кликабельная линейная компоновка
Я пытаюсь создать что-то вроде (очень плохо созданное в paint) на изображении ниже:
У меня всего 4 предмета, и больше не будет. элементы содержат два текстовых представления. Но когда вы нажимаете на элемент, я хочу, чтобы он расширялся (например, пункт 2) до самого низа с тремя дополнительными кнопками. Было бы очень хорошо, если бы была какая-то хорошая анимация расширения. Я не хочу, чтобы этот список был скроллабе, он просто должен вписаться в мой экран. И только один может быть расширен.
Я думаю, что там есть два варианта, но, возможно, я что-то упускаю. 1) Создайте itemlayout.xml, содержащий linearlayout или что-то, содержащее дополнительные кнопки, устанавливается в linearlayoutbuttoncontainer.setvisibility (вид.УШЕДШИЙ). А затем построить переключатель, который закрывает другие, чем щелкнул один, и установить видимость щелкнутого элемента видимым. Это было бы довольно легко построить, я думаю, я не предвижу много проблем. Но возможно ли создание анимации или есть только внезапный экран перемены?
2) расширяемый вид списка с кнопками в расширяемом элементе. Я знаю, что можно сделать только один пункт расширенным, вспомнив расширенный и закрыв его снова. Но можно ли сделать его таким, с кнопками в расширяемой части? Вообще-то я никогда не использовал расширяемый вид.
Кто-нибудь знает, каким должно быть лучшее решение? Спасибо
2 ответа:
Я бы рекомендовал использовать расширяемое представление списка для этого, как описано в вашем втором варианте. Для этого типа списка можно использовать расширяемый адаптер listview, описанный здесь:
Http://developer.android.com/reference/android/widget/ExpandableListAdapter.html
Этот адаптер имеет как getGroupView (открытие / закрытие элементов), так и метод getChildView, в котором вы можете раздувать свои макеты или вручную настраивать их. Если вы использовали обычные просмотры списков, я уверен, что это не будет проблема для вас, так как это в основном те же операции.
Это означает, что вы, вероятно, должны раздуть свои детские представления с помощью LinearLayout, содержащего три кнопки. Затем вы должны реализовать функциональность для ваших логик свертывания/расширения, отслеживая, какой индекс элемента открыт.
Я сделал этот учебник, когда только начал работать с exp.список просмотров, я нашел его полезным:
Http://android-adda.blogspot.se/2011/06/custom-expandable-listview.html
Хорошо удача!
Ты должен проверить это http://udinic.wordpress.com/2011/09/03/expanding-listview-items/ работает аккуратно. Если у вас есть еще какие-то проблемы, спрашивайте...