相关疑难解决方法(0)

是否可以在TextView中包含多个样式?

是否可以为TextView中的不同文本设置多个样式?

例如,我将文本设置如下:

tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Run Code Online (Sandbox Code Playgroud)

是否可以为每个文本元素设置不同的样式?例如,line1粗体,word1斜体等.

开发人员指南的常见任务和Android中的操作方法包括选择,突出显示或设置部分文本样式:

// Get our EditText object.
EditText vw = (EditText)findViewById(R.id.text);

// Set the EditText's text.
vw.setText("Italic, highlighted, bold.");

// If this were just a TextView, we could do:
// vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE);
// to force it to use Spannable storage so styles can be attached.
// Or we could specify that in the XML.

// …
Run Code Online (Sandbox Code Playgroud)

android styles textview

532
推荐指数
12
解决办法
26万
查看次数

在Android中设置TextView span的颜色

是否可以在TextView中设置文本范围的颜色?

我想做一些类似于Twitter应用程序的东西,其中一部分文本是蓝色的.见下图:

替代文字

formatting android text textview

188
推荐指数
12
解决办法
15万
查看次数

Android Spanned,SpannedString,Spannable,SpannableString和CharSequence

Android提供了多种接口所有文字和字符串相关的: Spanned,SpannedString,Spannable,SpannableStringCharSequence.

我已经在各种场景中使用了上述所有内容,通常是在使用Html.fromHtml()内部显示可链接文本之后TextView,以便为其应用一些样式.

我试图从Android的官方文档中了解这些接口的用途/用法并且因为它很混乱而失败了.这些接口的目的是什么?在哪些情况下使用它们最常见?在哪些情况下最好避免使用它们?使用其中任何一个时,是否有任何明显的性能影响?

如果有人能提供一个体面的解释,我将不胜感激.

android textview

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

什么是Android的领先保证金?

领先保证金的含义是什么?

文件LeadingMarginSpan

影响前导边距的段落样式.单个段落可以有多个主要边距跨度; 它们将按顺序呈现,每个都将其边距添加到它之前的边距.右边到左边的段落中的前导边距位于右边.

但它并没有真正说明领先优势是什么.

它是否像段落第一行的制表符缩进?或者它是整个段落缩进的地方?我认为它是/lidɪŋ/而不是/lɛdɪŋ/就像在行之间的空间一样.

我想知道的原因是我正在尝试使用StaticLayout创建自己的TextView.我指的是想法的Layout和StaticLayout 源代码.我试图删除所有不必要的部分,但我不知道这是什么.

以下是一些SO问题,也询问领先优势,但问题似乎知道这意味着什么.

图像确实很有用,但并非绝对必要.

android margins leadingmarginspan2 staticlayout

14
推荐指数
1
解决办法
2274
查看次数

13
推荐指数
7
解决办法
4万
查看次数

SPAN_EXCLUSIVE_EXCLUSIVE跨度不能为零长度

有人可以解释这个错误吗?

"SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length".

我认为这与它有关editText.有解决方案吗?

这是我的日志.

1-07 14:29:47.654: D/OpenGLRenderer(24479): Enabling debug mode 0

01-07 14:30:36.954: E/SensorManager(24479): thread start

01-07 14:30:36.959: D/SensorManager(24479): registerListener :: handle = 0  name= LSM330DLC 3-axis Accelerometer delay= 200000 Listener= 
android.view.OrientationEventListener$SensorEventListenerImpl@43000e98

01-07 14:30:37.139: E/SpannableStringBuilder(24479): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

01-07 14:30:37.139: E/SpannableStringBuilder(24479): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

01-07 14:30:37.419: I/Process(24479): Sending signal. PID: 24479 SIG: 9
01-07 14:30:37.654: E/Trace(25014): error opening trace file: No such file …
Run Code Online (Sandbox Code Playgroud)

android

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

从Spanned接口解释这些标志的定义(SPAN_COMPOSING,SPAN_USER等)

有人能为Android的Spanned Java界面中的标志提供清晰的解释吗? 文档不清楚,我需要更多细节,就像在这个SO答案中解释其他标志一样.

请求以下标志的定义:

SPAN_COMPOSING
SPAN_INTERMEDIATE
SPAN_POINT_MARK_MASK
SPAN_PRIORITY
SPAN_USER
SPAN_USER_SHIFT
Run Code Online (Sandbox Code Playgroud)

html android

7
推荐指数
1
解决办法
3589
查看次数

为什么TextView在底线显示unicode右箭头(\ u2192)?

我的应用程序使用unicode字符\ u2192在TextView元素中显示右箭头.但是,箭头显示在最底部,但应垂直居中:

在此输入图像描述

但是,如果我使用标准输出打印unicode字符,一切都很好:

public class Main {
  public static void main(String[] args) {
    System.out.println("A" + Character.toString("\u2192".toCharArray()[0]));
  }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我如何强制使用右箭头在TextView中居中?我的TextView已经使用了android:gravity="center_vertical|left".

更新:我使用的是Android Studio 3.0.1和Android SDK 26. TextView的XML代码:

 <TextView
    android:id="@+id/my_text_view"
    android:layout_width="match_parent"
    android:fontFamily="monospace"
    android:gravity="center_vertical|left"
    android:textSize="26sp" />
Run Code Online (Sandbox Code Playgroud)

在代码中填充TextView:

    TextView textView = findViewById(R.id.my_text_view);
    textView.setText("A" + Character.toString("\u2192".toCharArray()[0]) + "B");
Run Code Online (Sandbox Code Playgroud)

unicode android textview

7
推荐指数
1
解决办法
2526
查看次数

Android EditText:撰写时如何应用跨度?

当用户撰写时,如何在 EditText 文本上应用跨度?

例如,用户在撰写时激活了“粗体”,因此此后输入的每个字符都应该是粗体

我考虑过向 EditText 添加文本更改侦听器并在用户撰写时更新文本,但我想知道是否有更好的方法来执行此操作。

android android-edittext spannablestring spannable

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

如何在 Android 中将一种跨度类型更改为另一种类型?

我想在 a 中获取一种类型的所有跨度CharSequence并将它们转换为不同的类型。例如,将所有粗体跨度转换为下划线跨度:

在此处输入图片说明

我该怎么做?

(这是我今天面临的一个问题,既然我现在已经解决了,我在这里添加一个问答对。我的答案如下。)

android spanned spannablestring

4
推荐指数
1
解决办法
1240
查看次数