Android 自定义文本视图
Android custom textview
我需要 textview,其中第一个字母大写,就像照片上一样。实现该目标的最佳库或解决方案是什么?
您可以在不使用任何库的情况下使用SpannableString
。
String title = "This is a very good thing. You should try with that and suggest to others";
final SpannableString spannableString = new SpannableString(title);
int position = 0;
for (int i = 0, ei = title.length(); i < ei; i++) {
char c = title.charAt(i);
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')) {
position = i;
break;
}
}
spannableString.setSpan(new RelativeSizeSpan(2.0f), position, position + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(spannableString, TextView.BufferType.SPANNABLE);
您可以在 title
变量中使用您的文本。
1. 在app/build.gradle
中添加如下依赖
compile 'com.github.rpradal.lettrine:lettrine:release_number'
2. 使用 LettrineTextView
<com.github.rpradal.lettrine.LettrineTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:lettrine_textColor="@android:color/holo_red_dark"
app:lettrine_text="Lorem ipsum"
app:lettrine_lettrineSize="3"
app:lettrine_textSize="14sp" />
更多帮助,请关注thislink
结果如下:
我需要 textview,其中第一个字母大写,就像照片上一样。实现该目标的最佳库或解决方案是什么?
您可以在不使用任何库的情况下使用SpannableString
。
String title = "This is a very good thing. You should try with that and suggest to others";
final SpannableString spannableString = new SpannableString(title);
int position = 0;
for (int i = 0, ei = title.length(); i < ei; i++) {
char c = title.charAt(i);
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')) {
position = i;
break;
}
}
spannableString.setSpan(new RelativeSizeSpan(2.0f), position, position + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(spannableString, TextView.BufferType.SPANNABLE);
您可以在 title
变量中使用您的文本。
1. 在app/build.gradle
中添加如下依赖compile 'com.github.rpradal.lettrine:lettrine:release_number'
2. 使用 LettrineTextView
<com.github.rpradal.lettrine.LettrineTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:lettrine_textColor="@android:color/holo_red_dark"
app:lettrine_text="Lorem ipsum"
app:lettrine_lettrineSize="3"
app:lettrine_textSize="14sp" />
更多帮助,请关注thislink
结果如下: