在 TextView 中仅隐藏部分文本

Hide only part of text in TextView

美好的一天,我想在 textview 中隐藏文本的某些指定或特定部分!重要提示:我不是在谈论用 TextView.setVisibility(View.Gone) 隐藏完整的 textview 我不是在谈论文本视图中文本的透明!我不是在谈论在 textview 中隐藏全文!所以请帮我隐藏一些文本。 示例:假设我有一个文本视图(10-Sporting Goods) 我想隐藏 (10-) 并仅显示体育用品 text.Any 帮助将不胜感激!非常感谢!

会不会前面一直有“10_”?还是您想要的文本之前总是有 3 个字符?还是您想要的文字前总是有一个“-”或“_”?

如果是这样,您可以只执行一个简单的方法,该方法获取子字符串,然后更新文本视图。如果可以我可以帮你写一个简单的方法

您可以尝试像

这样获取整个文本
String text = textView.getText().toString();

然后像这样创建它的子串:

String wantedSubstr = text.substring(4); //for example - everything from the 4th index to the end

然后将此子字符串设置为您的 textView 的文本,如下所示:

textView.setText(wantedSubstr);

cannot hide part of textView您可以创建特定字符串的子字符串并使用它设置文本。

这样做:

String originalString = "10-Sporting Goods";
String subString = originalString.substring(3); 
textView.setText(asubstring);

有一个可能的解决方案是..首先你必须找到 "-"-"-"-" 的索引(位置),然后根据它拆分字符串使用下面的代码

String text = textView.getText().toString();
int position=text.indexOf('-');  
String wantedSubstr = text.substring(position+1);
textView.setText(wantedSubstr);

虽然我很感激你的案例强烈支持 DroidWorm/Gabriella 方法,但仅供将来可能看到此内容的所有其他人参考。

如果您真的只想隐藏包含整个字符串的 textview 的一部分,您应该使用 SpannableString ,如下所示:-

        tvHello = (TextView) findViewById(R.id.tvHello);
        SpannableString customText = new SpannableString("10-Sporting Good");
        customText.setSpan(new RelativeSizeSpan(.1f), 0, 3, 0);
        tvHello.setText(customText);

从技术上讲,此代码将在不使用子字符串的情况下隐藏 10-Sporting Good 中的 10-