在android中大写并扩大TextView的第一个字母

时间:2017-07-11 18:14:58

标签: java android xml android-layout

如何使用安卓工作室制作textView大号和大写文本的第一个字母,如附图所示。

this is the image

4 个答案:

答案 0 :(得分:2)

请尝试使用此代码段,这对您有帮助。

String str = "sample text";

//Change first character to capital letter
String tempStr = str.substring(0, 1).toUpperCase() + str.substring(1);

//Change font size of the first character. You can change 2f as you want
SpannableString spannableString = new SpannableString(tempStr);
spannableString.setSpan(new RelativeSizeSpan(2f), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//Set the formatted text to text view
tvSample.setText(spannableString);

答案 1 :(得分:1)

您可以使用:

String upperString = myString.substring(0,1).toUpperCase() + myString.substring(1);

答案 2 :(得分:1)

enter image description here

100%工作

步骤!

1)使用此库

             compile 'com.novoda:drop-cap:1.1.0'

2)在布局中定义

    <com.novoda.dropcap.DropCapView
        android:id="@+id/view_drop_cap"
        style="@style/DropCap"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/button1_detail" />

3)将其定义到styles.xml

<style name="DropCap">
    <item name="android:paddingLeft">@dimen/drop_cap_padding_left</item>
    <item name="android:paddingTop">@dimen/drop_cap_padding_top</item>
    <item name="android:paddingRight">@dimen/drop_cap_padding_right</item>
    <item name="android:paddingBottom">@dimen/drop_cap_padding_bottom</item>
    <item name="dropCapTextSize">@dimen/drop_cap_text</item>
    <item name="numberOfDropCaps">1</item>
    <item name="dropCapFontPath">fonts/SANS-SERIF_Cabin-Regular.otf</item>
    <item name="copyTextSize">@dimen/copy_text</item>
    <item name="copyFontPath">fonts/neuropolitical_rg.ttf</item>
    <item name="lineSpacingExtra">@dimen/drop_cap_linespacing_extra</item>
</style>

4)将其定义到dimens.xml

<dimen name="drop_cap_padding_left">10dp</dimen>
<dimen name="drop_cap_padding_top">10dp</dimen>
<dimen name="drop_cap_padding_right">10dp</dimen>
<dimen name="drop_cap_padding_bottom">10dp</dimen>
<dimen name="drop_cap_text">64sp</dimen>
<dimen name="copy_text">21sp</dimen>
<dimen name="scroll_view_height">200dp</dimen>
<dimen name="divider_height">1dp</dimen>
<dimen name="drop_cap_linespacing_extra">0sp</dimen>

4)在你的java代码中只需findItById并设置Text。

参考 - &GT; https://github.com/novoda/drop-cap

答案 3 :(得分:0)

您可以将一个textView用于角色A,将另一个textView用于其余文本。 因为对齐,我认为没有任何代码可以这样写。