小编Hoj*_*jat的帖子

TextView 和 EditText 中的 TextRendering

我有一个像这样的简单布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <EditText
        android:id="@+id/txtContent2"
        android:layout_width="300dp"
        android:layout_height="100dp"
        android:background="#fed9f4"
        android:textSize="22sp" />
    <View
        android:layout_width="match_parent"
        android:layout_height="10dp"/>

    <TextView
        android:id="@+id/txtBelow"
        android:layout_width="300dp"
        android:layout_height="100dp"
        android:background="#fed9f4"
        android:textSize="22sp"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

一个 TextView 和一个 EditText。当我在它们两个中设置相同的文本时,似乎每个文本呈现不同的文本。像下面这样: 顶视图是 EditText,下面是 TextView

我正在使用 StaticLayout 来测量文本并识别每行中的文本边界,我必须将文本设置为 TextView(因此用户无法编辑或选择它)。

但似乎 StaticLayout 文本边界计算与 EditText 匹配而不是 TextView。

StaticLayout layout = new StaticLayout(content, txtContent.getPaint(),
            txtContent.getWidth(),
            Layout.Alignment.ALIGN_NORMAL, 1, lineSpace, false);
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么 TextView 和 EditText 中的文本渲染不同,以及如何使用 StaticLayout 测量文本并将文本设置为 TextView,以便每行的开始和结束偏移量与用户在 setText 后看到的结果完全匹配

android textview staticlayout

5
推荐指数
1
解决办法
188
查看次数

如何从抽象类创建对象?

我们知道c#中的Array类是抽象的.

但是此类的静态CreateInstance方法返回Array类的对象.

这怎么可能?

c# arrays abstract-class

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

abstract-class ×1

android ×1

arrays ×1

c# ×1

staticlayout ×1

textview ×1