Подтвердить что ты не робот

Заголовок Высота в 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);
    }
4b9b3361

Ответ 1

Когда вы передаете null в качестве второго параметра в inflate(), вы говорите, что нет родителя, связанного с представлением. У этого есть неудачный побочный эффект, когда любой атрибут layout_, который вы используете, игнорируется, поскольку параметры layout_ влияют на то, как родитель выставляет дочерний вид, а не напрямую влияет на ребенка (например, другие виды): этот профайл более подробно описывает атрибуты layout_.

Вы можете использовать inflate(R.layout.header, getListView(), false) для передачи в ListView, который в конечном итоге будет являться родителем вашего представления заголовка (обратите внимание, что false говорит, что не нужно добавлять представление напрямую - ListView сделает это автоматически для вас).