TextView singleLine

时间:2017-01-14 22:48:04

标签: android textview textinput

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

  

属性android:inputtype不能与< TextView>使用:更改   元素类型为< 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>

1 个答案:

答案 0 :(得分:2)

你读过它的内容吗?

  

使用<TextView>输入文本通常是错误的,您应该这样做   使用<EditText>代替。 EditText是TextView的子类,还有一些   编辑支持由TextView提供,因此可以   在TextView上设置一些与输入相关的属性。但是,使用一个   TextView以及输入属性通常是一个剪切&amp;粘贴错误。   要输入文字,您应该使用<EditText>

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

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

您可以删除inputType

中的textView

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

替代方案

1.使用什么编译器询问: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.您也可以使用

<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>