可能重复:android-singleline-true-not-working-for-edittext
<EditText
android:id="@+id/searchbox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:layout_weight="1"
android:layout_marginTop="2dp"
android:drawablePadding="10dp"
android:background="@drawable/edittext"
android:drawableLeft="@drawable/folder_full"
android:drawableRight="@drawable/search"
android:paddingLeft="15dp"
android:hint="search...">
</EditText>
Run Code Online (Sandbox Code Playgroud)
我想让上面EditText只有单行.即使用户按下"输入",光标也不应该下到第二行.任何人都可以帮我这样做吗?
我有一个TextView我想限制它的字符.实际上,我可以做到这一点,但我正在寻找的是如何在字符串的末尾添加三个点(...).这一个显示文本已经继续.这是我的XML,但没有点,虽然它限制了我的文本.
<TextView
android:id = "@+id/tvFixture"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_toLeftOf = "@id/ivFixture_Guest"
android:text = "@string/test_06"
android:lines = "1"
android:ems = "3"
android:gravity = "right"
style = "@style/simpletopic.black"
android:ellipsize="end"/>
Run Code Online (Sandbox Code Playgroud) 所以,我有一个像这样的TextView:
<TextView
android:layout_width="fill_parent"
android:layout_height="140.7dp"
android:id="@+id/terminalOutput"
android:layout_marginBottom="0.0dp"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:maxLines="8" />
Run Code Online (Sandbox Code Playgroud)
我将它用作一种运行日志,显示给用户,以便他们可以监视大约需要3分钟的任务进度.但是,一旦我超过8行,文本就会消失.这对用户来说是不直观的,因为除了通过向下滚动手动轮询之外,他们无法知道它已经离开了屏幕.
我怎么能这样做,以便每次我添加一些文本到这个TextView我让它向下滚动尽可能低?
此外,这是在Xamarin Android,但我不认为这是相关的.在它和Java之间进行转换很容易
我注意到android:singleLine="true",如果在ListView中的Listitem的TextView中使用,则滚动非常滞后.虽然我已经找到了另一种选择 android:maxLines="1",但我很好奇知道为什么android:singleLine="true"滚动非常滞后,即使它有点滞后,为什么android仍然使用它?
我在Android中使用TextView,我想在TextView中以"."结尾显示1行,但最后给出[]类型框.我不知道为什么?我只是想把这个盒子拿出去,只显示以"......"结尾的文字

更新list_row.xml的代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="85dp"
android:orientation="horizontal"
android:gravity="center_vertical"
android:cacheColorHint="#4C7B8D"
android:background="#4C7B8D">
<ImageView
android:id="@+id/videoListImage"
android:src="@drawable/audio_thumbnail60x60"
android:layout_height="75dp"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:scaleType="fitXY"
android:layout_width="75dp"
android:padding="4dp"
android:background="@color/light_gray" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/next_arrow"
android:orientation="vertical"
android:gravity="center_vertical"
android:paddingLeft = "5dp">
<TextView
android:id="@+id/row_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@color/app_background_color"
android:textSize="18sp"
android:ellipsize="end"
android:maxLines="1" />
<TextView
android:id="@+id/row_dis"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@color/color_black"
android:layout_marginRight="2dp"
android:textSize="15sp"
android:ellipsize="end"
android:maxLines="1" />
<TextView
android:text="$7.50"
android:id="@+id/audio_price_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp"
android:textColor="@color/color_white"
android:textStyle = "bold"
android:paddingLeft = "12dp"
android:paddingRight = "12dp"
android:background="@drawable/blue_round_cornor_background" />
</LinearLayout>
<ImageView
android:id="@+id/next_arrow"
android:src="@drawable/next_arrow" …Run Code Online (Sandbox Code Playgroud) 我真的无法弄清楚为什么,但我只能让ellipsize工作maxLines=2更多.我正在显示几个描述的单词,然后是一个没有空格的长字符串.
这就是TextView的样子:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="#757575"
android:text="@string/gcm_not_registered"
android:maxLines="1"
android:ellipsize="end"
android:id="@+id/login_gcmRegistrationTextView"/>
Run Code Online (Sandbox Code Playgroud)
然后我以编程方式设置文本,但根据maxLines限制,我得到两个不同的结果:

唯一改变的是maxLines,为什么第一张图片中的线条也没有填满?
我面临的问题是android:ellipsize在TextView中不起作用.但要适用于android:singleLine.
我听说android:singleLine是"Deprecated",但它不是在Android Developer的引用中写的.
https://developer.android.com/reference/android/widget/TextView.html#attr_android:singleLine
android:singleLine不再处于"弃用"状态?
补充: 我自己解决了这个问题.
事实证明,TextView的属性的android:scrollHorizontally ="true"没有反映在xml文件中.
所以,我尝试使用setHorizontallyScrolling方法,它起作用了.
*xml:*
<TextView
android:id="@+id/text"
android:ellipsize="end"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
*code:*
TextView textView = (TextView)findViewByID(R.id.text);
textView.setHorizontallyScrolling(true);
Run Code Online (Sandbox Code Playgroud)
但是,我在xml中添加"android:inputType ="text",如下所示,它不起作用.请小心.
*xml:*
<TextView
android:id="@+id/text"
**android:inputType="text"**
android:ellipsize="end"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
Run Code Online (Sandbox Code Playgroud) "编辑"文本中的MaxLines属性不起作用:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_marginBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColorHint="@color/colorAccent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/register_userName"
android:maxLines="1"
android:textColorHint="@color/colorAccent"
android:textColor="@color/colorAccent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Name" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
我在我的gradle中使用以下内容:
compileSdkVersion 25
buildToolsVersion '25.0.2'
Run Code Online (Sandbox Code Playgroud)
虽然我已经android:maxLines="1"为我的编辑文本指定了编辑文本转换到我在Android 5.1上测试的新行,但这在我以前的应用程序上工作正常,但我最近更新了我的构建工具,我不知道为什么android:maxLines="1"没有按预期工作.