有没有办法隐藏TextView中的一些(但不是全部)文本?我尝试使用AbsoluteSizeSpan将大小设置为0,但是我没有看到任何视觉效果。 (你可以将大小设置为1,你基本上会得到凹凸不平的线条而不是可读的文字。可爱,但不是我想要的。)
隐藏,我的意思是走开,不可见,不占用空间。绘制与背景颜色相同的文字并不是我想要的。
我意识到我只能用我想要显示的文本替换TextView中的文本,但我已经使用跨度来做更多动态样式,而像HiddenSpan这样的东西会很有用。它存在吗?
答案 0 :(得分:8)
我认为您正在寻找:TextView.setVisibility(View.GONE)
答案 1 :(得分:6)
尝试使用此代码:
我已完成此代码..
<TextView
android:id="@+id/tvi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
或
android:visibility="gone"
/>
或代码: -
TextView txtView = (TextView)findViewById(R.id.tvi);
txtView.setVisibility(View.INVISIBLE);
OR
txtView.setVisibility(View.GONE);
可能会帮助你
答案 2 :(得分:3)
我刚遇到这个问题,并编写了以下课程:
public class NoDisplaySpan extends ReplacementSpan {
public NoDisplaySpan() {}
@Override
public void draw(Canvas arg0, CharSequence arg1, int arg2, int arg3,
float arg4, int arg5, int arg6, int arg7, Paint arg8) {}
@Override
public int getSize(Paint paint, CharSequence text, int start, int end,
FontMetricsInt fm) {
return 0;
}
}
似乎只能在一个段落内工作;当我将span设置为延伸超过换行符时,我得到一个ArrayIndexOutofBoundsException。我很想知道是否有人可以解决这个问题。
答案 3 :(得分:1)
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="0sp"
android:textColor="@android:color/transparent" />
透明文本颜色隐藏文本的可见性。添加textSize以删除或最小化占用的空间。
答案 4 :(得分:0)
刚刚遇到这个问题。基本上,您只需使用子字符串或其他内容显示字符串的一部分,如果单击textview,则将全文设置为它。
希望它可以帮助某人完成该主题。 (如果需要,可以复制粘贴一段代码)。
答案 5 :(得分:0)
不确定你是否还在寻找答案,因为它已经很老了,但我在找东西时发现它并认为我可以提供帮助。您是否尝试在键盘上设置一个按钮或硬件按钮以在可见的TextView和隐藏的TextView之间切换。如果您希望将可见文件保留为隐藏的一部分,则必须将文本从可见文件复制到隐藏文件。如果你想隐藏它自己的文本,那么这将是一个简单的解决方案。
答案 6 :(得分:0)
我想出了一种办法。让我们使用SpannableString和Color.TRANSPARENT
例如: <>原始文本:“ Hello dude”
<>预期文本:“ _____ dude”
val spannableString = SpannableString(“ Hello dude”)
spannableString.setSpan(ForegroundColorSpan(Color.TRANSPARENT),0,5,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
yourTextView.text = spannableString