Articles of textview

长文本在ICS的下一行,但不在GB和下面

我第一次注意到这是AlertDialogs把整个消息放在第一行,即使当我指定一个新行(“\ n”)。 在ICS上它显示了正确的方式,但是对于我来说,我无法使用GB来工作。 最近我又遇到了。 我没有看到任何理由,它在ICS上工作正常,但不是GB和以下。 示例项目 下面是一个带有textview,alertdialog和两个标准文本视图的示例项目。 https://github.com/T3hh4xx0r/Text-Example 编辑 下面是我问的原始问题。 似乎这个问题比我最初注意到的要多。 Android AlertDialog在某些设备上不显示整个setMessage /编辑 这里是我的意思的视觉例子。 即使专门为textView设置多行,文本仍然是一行,但下面有额外的空行。

TextView中的(s / g)etFreezesText是什么?

到最近(可能作为一个新的SDKfunction),当我试图从文本Textview拉文本时,我首先得到getFreezesText()方法,而不是getText() 。 我看了这个方法的定义,它说 **android:freezesText** If set, the text view will include its current complete text inside of its frozen icicle in addition to meta-data such as the current cursor position. By default this is disabled; it can be useful when the contents of a text view is not stored in a persistent place such as […]

如何设置单个文本视图的多个点击事件?

我有一个如下所示的textview: txtByRegistering.setText("By Registering you agree to terms and condition and privacy policy"); 这只是一个大文本。 所以,我用水平滚动文字框。 工作正常。 我的问题是,如何在单击选定的滚动文本时调用点击事件。 例如说: 当用户在上面的文本视图中单击“注册”一词时,我必须调用新的意图。 当用户点击单词"Terms" ,我必须调用另一个新的意图(一个活动与web视图作为条款有URL Link )。 由于“注册”和“条款”这两个词是url,我尝试了下面的内容: String mRegDesc = "By registering you agree to the " + "<a href=\"" + Constant.URL + "/terms_and_conditions" + "\">Terms of Use</a> " + "and " + "<a href=\"" + Constant.URL + "/privacy" […]

使string可点击,在TextView中加下划线

我想使string“这个链接”加下划线和点击,但我不知道如何实现这一点。 XML文件: <string name="submitText">Before you submit, please check out &lt;u>this link&lt;/u></string> 在我的片段中: tvSubmit.setText(Html.fromHtml(getString(R.string.submitText))); 我不希望整个string是可点击的,只有下划线部分。 我不能使用2个单元格的水平LinearLayout ,因为在较小的设备上,string将不会有继续的样子,它将被分成2个单元格。 我试过了什么: tvSubmit.setMovementMethod(LinkMovementMethod.getInstance()); Spannable sp = (Spannable) tvSubmit.getText(); ClickableSpan click = new ClickableSpan() { @Override public void onClick(View widget) { showLink(); } }; sp.setSpan(click, 0, sp.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 上面的代码使整个string下划线,并且文本的颜色也变成浅蓝色。

在Android中如何使用EasyEditSpan来允许部分文本编辑?

我想允许用户在我的Android应用程序中只编辑一部分文本。 我看到一个名为EasyEditSpan的类,但是当我将其粘贴到TextView中时,什么都不会发生。 我试图使TextView可编辑,但它仍然没有任何影响。 如果切换到EditText,那么整行文本是可编辑的,这也是不正确的。 这是我的代码: @Override public void onCreate(Bundle savedInstanceState) { TextView testView = (TextView)findViewById(R.id.text_view); testView.setText(buildMiddleEditSpannable("Please enter your ", "Name", " here.")); } public static Spannable buildMiddleEditSpannable(CharSequence beginning, CharSequence middle, CharSequence end) { int spanMidStart = beginning.length(); int spanMidEnd = spanMidStart + middle.length(); SpannableString span = new SpannableString(new StringBuilder(middle).insert(0, beginning).append(end)); span.setSpan(new EasyEditSpan(), spanMidStart, spanMidEnd, 0); […]

ScrollView内容更新

我有一个编程生成的ScrollView里面有一个TextView 。 我希望不时更新TextView的文本,并且已经实现了一个处理函数来更新TextView GUI元素。 这似乎调用/正常工作。 但是,目前我发现实际上让TextView显示附加信息的唯一方法是调用: consoleText.append("New text to add to TextView"); // then: myScrollView.removeView(myTextView); myScrollView.addView(myTextView); 这不是特别优化,并想知道如何刷新ScrollView的内容来显示我的新增信息… 也: invalidate(); postvalidate(); 似乎没有做任何事情 – TextView对象有新的文本(查看debugging),它只是没有绘制到屏幕上,除非我调用添加/删除function。 感谢您提供的任何信息/帮助 FR

我如何获得TextView的背景颜色?

我如何获得TextView的背景颜色? 当我按下TextView时,我想根据使用的背景颜色来改变背景颜色。 TextView没有如下的方法: getBackgroundResource() 编辑:我宁愿得到背景颜色的resId。

Android:避免在TextView中的断行string部分

我想避免在string的特定部分中断行。 比方说,我们有这个string: Speed (m/s) 理想情况是要么完全不跳,而要在一行中有完整的string,或者,如果需要跳转,则以这种方式: Speed (m/s) 我想避免的是这样的事情: Speed (m/ s) 有任何想法吗?

你能解释TextView + Gravity + SingleLine和Canvas的行为吗?

我有一个自定义的TextView,它的onDraw方法重写,在文本视图周围绘制一个红色的边框。 当我将重力设置为其他值时 , ANDLineLine = true :不绘制边框。 这有什么理由吗? 有没有解决办法? 下面的截图说明了这个问题:第二个textView没有边框 TL表示TOP | LEFT; C表示CENTER; SL表示单线; T的意思是真的; F表示错误 这里是代码(可以复制/粘贴和运行 – 不需要布局文件) import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.view.Gravity; import android.widget.RelativeLayout; import android.widget.TextView; public class MyActivity extends Activity { private final int TEXT_VIEW_WIDTH_PX = 400; private final int TEXT_VIEW_HEIGHT_PX = […]

如何使用Paint.getTextBounds()快速获取TextView的宽度和高度?

在Paint类中有一个方法: Paint.getTextBounds()返回一些文本占用的Rect 。 但根据这个答案,它返回一些不同于TextView的宽度/高度的东西。 Q1:有没有办法使用由Paint.getTextBounds()返回的Rect来获取TextView的宽度和高度? 请注意,我确实需要知道宽度/高度。 我会很高兴知道rect上界,可能有2-3%的误差,但是它必须不会更大(并且应该适用于任何不依赖于屏幕分辨率和像素密度的手机),那么TextView边界 Q2:有没有其他QUICK方法确定指定textSize的文本的宽度和高度? 我知道,宽度可以通过Paint.measureText()确定,但是这不会返回高度。 高度可以通过用文本创build新的StaticLayout然后调用StaticLayout.getHeight()来确定,但是这太慢了。 我需要更快的东西。 所有这一切的背景是使AutoFitTextView ,它会自动适合文本在其范围内的文本大小上调或缩小,它应该做到这一点,因为会有很多这样的AutoFitTextViewdynamic改变非常快。