ListView中的标题视图高度

And*_*der 13 android android-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" />
Run Code Online (Sandbox Code Playgroud)

ListFragment

 @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        TextView fakeHeader = (TextView)getActivity().getLayoutInflater().inflate(R.layout.header, null);
        getListView().addHeaderView(fakeHeader);
    }
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 30

当您null作为第二个参数传入时inflate(),您说没有与视图关联的父级.这会产生令人遗憾的副作用,layout_因为layout_参数会影响父级放置子视图的方式而不是直接影响子视图(就像其他视图一样),因此忽略了您使用的任何属性:此专业提示将更详细地介绍layout_属性.

您可以使用inflate(R.layout.header, getListView(), false)传入ListView,它最终将成为标题视图的父级(请注意false表示不直接添加视图 - ListView将自动为您执行此操作).

  • 这是一个非常好的答案,这就是你在阅读文档时所得到的,伙计们!对我们感到羞耻 (2认同)