android - ListView 中的标题 View 高度

标签 android android-listview

我正在使用作为 ListFragment 一部分的 ListView。我想添加一个具有特定/自定义高度的标题,但是我在标题 View 的高度中放置什么并不重要,它始终具有相同的高度。是否可以修改 ListView 的标题 View 高度?

下面是我使用的代码:

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);
    }

最佳答案

当您将 null 作为第二个参数传递给 inflate() 时,您表示没有与 View 关联的父级。这有一个不幸的副作用,您使用的任何 layout_ 属性都会被忽略,因为 layout_ 参数会影响父 View 如何布置 subview ,而不是直接影响 subview (像其他 View 一样): this pro-tip深入了解有关 layout_ 属性的更多详细信息。

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

关于android - ListView 中的标题 View 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26372304/

相关文章:

android - 在子 Recyclerview android 中禁用滚动

android - 确定 SDCard 是否存在的确定方法

android - 两种方法更新 Android App Widget 有什么区别?

android - 列表项长按转场

android - 如何设置CheckedTextView的选中/未选中

java - 如何从Android中的服务器播放音频

android - 多个矩形不在 Canvas 上绘制

Android 在后端录制语音和通话

android - 如何在 ListView 中的列表项底部添加边框

java - Android:根据 ListView 中的项目数显示/隐藏菜单项