TextView单行

TextView singleLine

我想在滑动布局中创建一个单行文本视图。每个文本视图都代表一个用户可以触摸的动作。所有文本视图的宽度均为 100dp。现在我遇到的问题是 textview 的文本太长,它换行到下一行。我不想使用 android:singleLine="true"。现在我添加了 android:maxLines="1"android:inputType="text" 以及 它工作正常 。但现在我收到警告:

Attribute android:inputtype should not be used with <TextView>: Change element type to <EditText>

我不想输入文字,所以不需要 EditText

还有其他方法还是我应该忽略此警告?

<TextView
    android:id="@+id/item_list_bottom_rename"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:maxLines="1"
    android:inputType="text"
    android:layout_gravity="center"
    android:drawableTop="@drawable/ic_visibility_white_36dp"
    android:gravity="center"
    android:padding="10dp"
    android:text="@string/rename"
    android:textColor="@color/item_title_listname"/>

解法:

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:fillViewport="true"
    android:minWidth="100dp"
    android:scrollbars="none">

    <TextView
        android:id="@+id/item_list_bottom_rename"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:drawableTop="@drawable/ic_visibility_white_36dp"
        android:gravity="center"
        android:maxLines="1"
        android:text="@string/rename"
        android:textColor="@color/item_title_listname"/>
</HorizontalScrollView>

你读过上面说的吗?

Using a <TextView> to input text is generally an error, you should be using <EditText> instead. EditText is a subclass of TextView, and some of the editing support is provided by TextView, so it's possible to set some input-related properties on a TextView. However, using a TextView along with input attributes is usually a cut & paste error. To input text you should be using <EditText>.

InputType -整数的位定义,定义 Editable 对象中保存的文本的基本内容类型。受支持的 类 可以与变体和标志组合以指示所需的行为。

属性 android:editable 不应与 <TextView> 一起使用,这就是原因!

您可以删除 textView

中的 inputType

没有 android:singleLine="true" 但有 android:maxLines="1"

备选方案

1.use 编译器要求什么 :P EditText 并使其充当 textView

<EditText
    android:cursorVisible="false"
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:inputType="text"
    android:maxLines="1"
    android:text="Helloo"
    android:id="@+id/Id"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent" >
</EditText>

2.you也可以用

<HorizontalScrollView
    android:fillViewport="true"
    android:scrollbars="none"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
        android:id="@+id/item_list_bottom_rename"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:maxLines="1"
        android:text="Heloo" />
</HorizontalScrollView>