我知道你设置
时tools:text="Sample text"
在TextView
范围内,您会在Android Studio的预览模式下看到示例文字,但不会在实际应用中看到。我想对RecyclerView
中的项目执行此操作,但我似乎无法做到。这是我到目前为止所做的:
在RecyclerView(名为content_feed)中:
tools:listitem="@layout/cell_feed"
在单元格中(名称为cell_feed):
tools:showIn="@layout/content_feed"
以下是xml
个文件:
cell_feed.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/height_feed_cell"
android:layout_marginLeft="@dimen/margin_feed_cell"
android:layout_marginRight="@dimen/margin_feed_cell"
android:orientation="horizontal"
tools:showIn="@layout/content_feed">
<LinearLayout
android:id="@+id/timeLayouts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="@dimen/alpha_feed_secondary_text"
android:textSize="@dimen/size_feed_secondary_text"
android:id="@+id/startTimeText"
tools:text="8:00 AM"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="@dimen/alpha_feed_secondary_text"
android:textSize="@dimen/size_feed_secondary_text"
android:id="@+id/endTimeText"
tools:text="10:00 AM"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/margin_feed_cell_text"
android:layout_toRightOf="@+id/timeLayouts"
android:layout_centerVertical="true"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin_bottom_feed_cell_title"
android:textSize="@dimen/size_feed_cell_title"
android:textStyle="bold"
android:id="@+id/titleText"
tools:text="Event title"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alpha="@dimen/alpha_feed_secondary_text"
android:textSize="@dimen/size_feed_secondary_text"
android:id="@+id/captionText"
tools:text="Event caption"/>
</LinearLayout>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/margin_feed_cell_text"
tools:text=""/>
</RelativeLayout>
content_feed.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/feedRecycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:listitem="@layout/cell_feed"
tools:showIn="@layout/activity_feed"/>
答案 0 :(得分:19)
您想要的功能名为&#34;支持样本数据&#34; ,最近在Google I / O 2017活动中宣布。 This是Tor Norbye引入新功能的确切分钟的直接链接。
例如,将以下内容应用于布局项:
tools:text="@tools:sample/lorem"
将导致预览窗口中的以下输出:
申请:
tools:text="@tools:sample/date_day_of_week"
将在预览窗口中生成此输出:
您也可以使用自定义数据填充它。 This blog post演示了如何做到这一点的完整示例。首先,右键单击您的应用模块,然后选择New | Sample Data directory
。
然后,您将在activity_log.json
目录中创建一个sampledata
文件,其中包含以下内容:
{
"activities" : [
{
"icon": "@sample/activity_icons[ic_biking.png]",
"description": "Biking",
"location" : "Pleasant Hill, CA",
"distance": "48 miles",
"date": "Yesterday"
},
// other items here
]
}
然后您可以通过这种方式将此数据应用于您的布局:
tools:src="@sample/activity_log.json/activities/icon"
tools:src="@sample/activity_log.json/activities/distance"
这将导致预览窗口中的以下输出:
有关该主题的更多详情,请查看Mark Allison撰写的"Tool Time"系列文章。