虽然tools:listitem有效,但tools:listheader无效

时间:2018-11-03 07:53:54

标签: android android-listview

我的片段布局包含以下代码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".BlankFragment">

    <ListView
        android:id="@+id/blankList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:listheader="@layout/menu_header"
        tools:listitem="@layout/fragment_item" />
</FrameLayout>

我的fragment_item包含以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="bottom"
    android:orientation="horizontal"
    android:background="#f0f0f0">

    <ImageView
        android:id="@+id/image_menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:paddingBottom="3dp"/>

    <TextView
        android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="@dimen/menu_article_text_size"
        android:layout_marginStart="16dp"
        android:textAppearance="?attr/textAppearanceListItem" />
</LinearLayout>

我的menu_header包含以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:elevation="12dp"
        android:id="@+id/view2"
        app:cardCornerRadius="40dp"
        android:layout_centerHorizontal="true">
        <ImageView
            android:layout_height="80dp"
            android:layout_width="match_parent"
            android:id="@+id/imageView1"
            android:src="@drawable/ic_launcher_background"
            android:scaleType="centerCrop"/>
    </android.support.v7.widget.CardView>
</LinearLayout>

我的问题是,由于某种原因,当我在应用程序中运行该片段时,该片段会显示出来,并且列表中的各项都很好,但是标题根本不存在。

有人帮忙吗?

*重要事实* 在预览中,它可以正常运行,但是在我运行时不可以

1 个答案:

答案 0 :(得分:2)

  

我的问题是,由于某种原因,我在应用程序中运行该片段   可以,列表出现并且其项目都很好,但是标题   根本不在那儿。

     
      
  • 重要信息*在预览中,它可以正常运行,但是在我运行时却无效
  •   

=>好像您对工具属性有误解。这些是设计时间属性,这意味着它在设计布局时很有用。是的,这些不是用于运行时的,因此显然不会出现在应用程序中。

通过举例说明android:text="Hello Worldtools:text="Hello World"进行说明。您应该使用tools属性将演示/测试数据放入布局中,这样用户就不会看到这些数据,但是对开发人员来说,查看布局中是否有可用视图将很有帮助。实际上,他们可以调整页边距,填充和所有其他布局设计时间操作!