在 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-。
美好的一天,我想在 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-。