2014-11-13 3 views
4

У меня есть RecyclerView с использованием Linear Layout Manager по умолчанию.Изменение размера Viewholder в RecyclerView

llm = new LinearLayoutManager(getActivity().getApplicationContext()); 
    llm.setOrientation(LinearLayoutManager.VERTICAL); 
    ItemListView = (RecyclerView) rootView.findViewById(R.id.Itemlist); 
    ItemListView.setLayoutManager(llm); 
    final float scale = getActivity().getBaseContext().getResources().getDisplayMetrics().density; 

Я пытаюсь изменить высоту этой точки зрения один пункт, чтобы отобразить дополнительные элементы пользовательского интерфейса, когда метка будет нажата.

Я попытался это, но безуспешно

vh.itemView.setMinimumHeight((int)(375 *(scale/160))); 

Могу ли я даже изменить высоту элемента? мне нужно было бы реализовать собственный layoutManager?

+1

Способ, которым я это сделал, скрыть мои дополнительные элементы ui из представления элемента сначала, вызвав (some_ui_element) .setVisibility (View.INVISIBLE); и когда пользователь удаляет элемент, я показываю элементы, вызывая (some_ui_element) .setVisibility (View.VISIBLE); и удостоверился, что макет элемента в xml установлен на wrap-content для его макета-высоты. Элемент cardview (или listview) был изменен для отображения элементов ui. Вы пробовали этот путь? – Wildroid

+0

Это работало с одной морщиной, мне пришлось установить начальную видимость, чтобы не было пустого места. – gsueagle2008

+0

правильный - я имел в виду View.GONE - я отправил его в качестве ответа - спасибо – Wildroid

ответ

4

Скрыть дополнительные элементы пользовательского интерфейса с точки зрения пункта сначала позвонив по телефону

(some_ui_element).setVisibility(View.GONE); 

по пункту нажмите, отобразите элементы, вызвав

(some_ui_element).setVisibility(View.VISIBLE); 

и убедитесь, что расположение элемента в XML устанавливается завернуть -content для его макета-высоты. Элемент cardview (или listview) был изменен для отображения элементов ui.

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