我的应用程序中有这个 textViewsingleLine设置为true.
当我调用setMovementMethod(LinkMovementMethod.getInstance())它并设置一些阿拉伯语或乌尔都语文本时,文本不可见。尽管 textview 是可见的(我已经通过在其背景上应用颜色进行了检查。
我尝试使用maxlines=1而不是单行来解决可见性问题,但是我的文本很长,textview 中的文本变得可滚动而不是被椭圆化。
难道我做错了什么?有没有办法使文本椭圆化而不是滚动maxlines=1?
感谢任何帮助。
编辑 1. 添加示例代码:
爪哇
package com.example.invisibletextsample;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.text.util.Linkify;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView mTextView = (TextView)findViewById(R.id.tv1);
String mString = "9876543210 ???? ????";
mTextView.setText(mString);
Linkify.addLinks(mTextView, Linkify.PHONE_NUMBERS);
mTextView.setMovementMethod(LinkMovementMethod.getInstance());
}
}
Run Code Online (Sandbox Code Playgroud)
XML
<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="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.invisibletextsample.MainActivity" >
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:background="@android:color/holo_red_light"
android:singleLine="true"
android:ellipsize="end" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
TextView当您使用以下命令限制 a 时,可以限制最大行数
singleLine = "true" ==> text should be only on line long
Run Code Online (Sandbox Code Playgroud)
或者
maxlines ="1" ==> maximum lines taken by TextView should be only 1 line
从 xml 中删除此行,您的文本应该显示得很好。并尝试将您的内容放在textviewa 下ScrollView,如果测试确实很大,您可以滚动它