11

默认情况下,如果我Spinner在图形布局编辑器中创建一个(使用Spinner Item预览布局,即android.R.layout.simple_spinner_item)显示的文本是

项目 1

有什么办法可以更改此预览文本?

4

3 回答 3

21

特别是对于微调器预览文本,将tools:listitem属性与布局一起使用:

<Spinner
 android:id="@+id/spinner1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 tools:listitem="@android:layout/simple_list_item_1" />

您还可以通过右键单击微调器然后选择“预览微调器布局”在可视化编辑器中设置该预览。无论如何,它必须是一个具体的布局,而不是简单的文本字符串。

因此,最好的做法是在您将要使用的特定列表项布局中设置您的虚拟文本(例如,在您Adapter的 Java 代码中),然后如上所述直接预览该布局。

于 2013-03-15T14:24:47.223 回答
11

首先,您需要创建适当的预览布局。例如,您可以将其放在 layout/preview.xml 中:

<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    style="?android:attr/spinnerDropDownItemStyle"
    android:singleLine="true"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:text="NEW PREVIEW TEXT"
    android:ellipsize="marquee" />

然后,您可以在实际布局中右键单击 Spinner 并选择Preview Spinner Layout > Choose Layout...从项目资源中选择您的布局,您应该会看到新的预览。

您还可以使用 XML 设置预览布局tools:listitem="@layout/preview"

于 2013-03-15T14:28:21.970 回答
3

视图有一个名为“isEditMode()”的函数,可用于更改项目在图形编辑器中的外观。这个 SO 可能会帮助你:

Eclipse 可视化编辑器中的自定义 Android 视图

于 2013-03-15T15:38:41.040 回答