В настоящее время я использую 26 Textview
, чтобы применить стиль к определенному символу в зависимости от ситуации во время выполнения. Но если я могу применить стиль к определенному символу в текстовом представлении, я могу достичь своей цели, используя только одно текстовое представление.
Например Если я хочу сделать символ «M» красным в следующем коде. Возможно ли этого добиться?
<TextView
android:id="@+id/TextView01"
android:layout_height="wrap_content"
android:textSize="20dip"
android:textStyle="bold"
android:layout_width="15dip"
android:text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:background="#FFFFFF"
android:textColor="#000000"/>`
Или у кого-нибудь есть лучший вариант, чем использовать 26 TextView
, это тоже приветствуется.
3 ответа
Вы можете использовать только 1 текстовое изображение и изменить цвет с помощью Html.fromHtml ()
Использовать Spannable
private SpannableString spanIt(String text, String queryText) {
// search for query on text
int startIndex = text.indexOf(queryText);
int endIndex = startIndex + queryText.length();
// spannable to show the search query
SpannableString spanText = new SpannableString(text);
if (startIndex > -1) {
spanText.setSpan(new ForegroundColorSpan(Color.RED), startIndex,
endIndex, 0);
}
return spanText;
}
А затем в текстовом виде ..
tv.settext(spanIt("ABCDEFGHIJLMNOPQRSTUVXZ","M"));
Попробуйте этот код. Это поможет вам ..
RelativeLayout rl=(RelativeLayout) findViewById(R.id.rl);
RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams((int)LayoutParams.WRAP_CONTENT,(int)LayoutParams.WRAP_CONTENT);
params.leftMargin=45;
params.topMargin=70;
TextView textView=new TextView(this);
String text = "I Love <font color='red'>ANDROID !!!</font>";
textView.setText(Html.fromHtml(text));
textView.setLayoutParams(params);
textView.setTextSize(25);
rl.addView(textView);
Похожие вопросы
Связанные вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.