在android中插入drop caps文本

时间:2014-02-28 02:34:10

标签: android

我正在学习Android,以下是作业的一部分。

我需要在Android布局中编写一些带有首字母大写字母的文字,如下文所示:

enter image description here

我查了一下网,没找到很多答案。我可以使用样式选项或某些属性吗?

目前,我正在考虑以下选项。请建议做这种事情的最佳方法是什么

  1. 使用第一个字母的图像
  2. 用大字体分别写下第一个字母。
  3. 任何建议都会有所帮助。

3 个答案:

答案 0 :(得分:4)

您可以使用RelativeSizeSpan

    final String someText = "A long time ago in a galaxy far, far away";
    final SpannableString ss = new SpannableString(someText);
    ss.setSpan(new RelativeSizeSpan(5f), 0, 1, 0);

enter image description here

答案 1 :(得分:2)

有一个由Novoda编写的库,您可以在其中添加DropCap https://github.com/novoda/spikes/tree/master/drop-cap 这是演示应用程序中的图像:

enter image description here

答案 2 :(得分:-1)

请关注 GitHub 示例应用

https://github.com/datanapps/CapTextView

<datanapps.captextview.CapTextView
    android:id="@+id/text2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    android:padding="5dp"
    app:layout_constraintTop_toBottomOf="@+id/text1"
    
    app:capsDropNumber="2"
    app:capFont="@font/eb_garamond_regular"
    app:capTextColor="@color/purple_700"
    app:capTextSize="@dimen/cap_text_size"

    app:bodyTextColor="@color/purple_700"
    app:bodyTextSize="@dimen/body_text_size"
    app:bodyTextFont="@font/eb_garamond_regular"
    />

enter image description here

希望能帮到你