Заголовок Высота в ListView
Я работаю с ListView, который является частью ListFragment. Я хочу добавить заголовок с определенной/пользовательской высотой, но не имеет значения, что я помещаю в высоту представления заголовка, всегда он имеет одинаковую высоту. Можно ли изменить высоту представления заголовка ListView?
Ниже кода, который я использую:
header.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp" />
ListFragment
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
TextView fakeHeader = (TextView)getActivity().getLayoutInflater().inflate(R.layout.header, null);
getListView().addHeaderView(fakeHeader);
}
Ответы
Ответ 1
Когда вы передаете null
в качестве второго параметра в inflate()
, вы говорите, что нет родителя, связанного с представлением. У этого есть неудачный побочный эффект, когда любой атрибут layout_
, который вы используете, игнорируется, поскольку параметры layout_
влияют на то, как родитель выставляет дочерний вид, а не напрямую влияет на ребенка (например, другие виды): этот профайл более подробно описывает атрибуты layout_
.
Вы можете использовать inflate(R.layout.header, getListView(), false)
для передачи в ListView, который в конечном итоге будет являться родителем вашего представления заголовка (обратите внимание, что false говорит, что не нужно добавлять представление напрямую - ListView
сделает это автоматически для вас).