問題タブ [spannablestring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
418 参照

android - android - onSaveInstanceState コールバック SpannableString を保存する方法

HTML 形式の文字列を SpannableString として保存しました。構成の変更などでは、onSaveInstanceState が前に呼び出され、次に onRestoreInstanceState が状態などを復元するために呼び出されます。spannableString を保存および復元するにはどうすればよいですか ... 文字列を保存するメソッドだけが表示されますが、スパン可能なアイテムは保存されません。

0 投票する
1 に答える
5043 参照

android - 行間隔のある Android スパン可能な文字列

タグに背景色があるタグ クラウドがあります。残念ながら、行間を適切に配置することはできません。

これがテキスト クラウドであると仮定しましょう。

これは、テキスト ビューのスタイルです。

BackgroundColorSpan は、タグの青色の背景色を設定するために使用されます。ただし、線の間にスペースはありません。つまり、2 つの線の背景色は分離されていません。

テキスト ビューの行間隔を 12sp に設定すると、行間隔が追加されますが、テキスト ビューの背景色の代わりにタグの背景色を使用して行間隔が設定されます。

テキストビューの背景色を使用して行間隔を取得する方法はありますか?

アップデート

このソリューションをガイダンスとして使用して、このアプローチを思いつきました。テキストの背景を描画し、テキストの背景を上下にパディングして描画し、テキストを描画します。これまでキャンバスを使用したことがないので、より良いアプローチがあるかもしれません。とにかく - これがコードです。

そして、現在は次のようになっています。

ここに画像の説明を入力

知っておくと便利: より良い解決策はありますか?

0 投票する
1 に答える
35 参照

android - HtmlSpan のリンクをクリック可能にするには?

簡単なタスクがTextViewあります。HTML コードで表示することです。

実装は次のとおりです。

そしてコード:

の例を次に示しmData.answerます。

これは、 に表示するほど重いコードではないと思いますTextView。それは機能しますが、私のリンクTextViewはクリックできません。この機能を有効にする方法は?

0 投票する
1 に答える
851 参照

android - テキストビューでコンテンツが複数の行にまたがる場合、画像スパンが表示されないことがあります

私はテキストビューを持っていて、その中のテキストとともに画像スパンを描画しようとしています。

コンテンツが次の行に折り返されると、一部の画像が表示されないことがあります。

スパンをテキストビューに追加する際に留意すべきことはありますか?

私が提供する必要があるその他の詳細は、ここにコードを貼り付けることができます。

0 投票する
1 に答える
7542 参照

java - indexoutofboundexception : setSpan (2...2) が長さ 1 を超えて終了しています

MultiAutoCompleteTextViewユーザーがスペースキーを押したときにチップテキストを作成するカスタムコントロールがあります。

テキストボックスが空のときにユーザーが最初にスペースを入力したくないので、ユーザーが最初にスペースを入れないようにするためにを入れましたinputFilter

フィルターコードは次のとおりです。

どういうわけかコメントRestrictUselessSpaces機能。それは正常に動作します。しかし、この関数が実行されると。文字の後にスペースを入力しようとした場合よりも。それは私にindexoutofboundexceptionエラーを与えます。エラーが発生するコードは次のとおりです。

ssb.setSpanが問題を引き起こしていますが、コードをデバッグすると. デバッガーは、例外を発生させずにこの行を実行します。この関数の実行後にエラーが発生するため、実際に問題の原因を特定するのが難しくなっています。

そして、ここに私のlogcatがあります:

0 投票する
2 に答える
192 参照

android - 複数のスタイルのテキストを含む edittext

edittext のテキストに複数のスタイルを追加する必要があります。検索後、2 つの方法が見つかりました

1-これを使用して、私のために働いています

2- HTML 形式を使用し、これを使用してテキストにパディングとマージンを追加できるようにする必要があります。

しかし、2番目の方法は機能していません。ここで誰か助けてもらえますか??

0 投票する
1 に答える
670 参照

android - アンカーと未加工のリンクを含む TextView (SpannableString の問題)

私のテキストビューでは、アンカーと生のリンクの両方をクリック可能にしたいと考えています。TextView.setAutoLinkMask(Linkify.ALL) にすべての未加工のリンクを処理させてから、スパンを取得し、すべてのアンカーに対して SpannableString で設定します。

setText(CharSequence text, BufferType type) 呼び出しで、カスタム TextView 実装 (TextView を拡張) でアンカーを「リンク化」できるようにしたいと考えています。setSpan() 呼び出しを除いて、すべてが適切に機能しているようです (終了、開始、スパンはすべて正しい)。setText(...) の最後で、グローバル CharSequence var を新しい SpannableString に割り当てています。アダプターから setText() が呼び出されると、Object[]spans で識別されるスパンがリンクされません。

以下にリストされているコードで、この問題のわずかな回避策を見つけました。この実装では、CustomTextView の代わりにアダプターでスパンを設定しています。このメソッドは正常に機能しますが、TextView が ExpandableTextView として使用されているため、私のニーズに完全には適合しません。つまり、2 セットのテキスト (トリミングされたものと完全なもの) があり、多くの場合、トリミングされたバージョンが返されます (これは典型的なシナリオでは問題ありませんが、ただし、全文にタグを追加したい場合を除きます)。最初に識別されたスパンが fullText 用であり、getText() が trimmedText を返すため、この実装はしばしばクラッシュします。したがって、カスタム TextView の setText() でこれを実行できるようにする必要があると思います。ただし、以下のメソッドは、trimmedText と fullText が同じ長さであることを前提として機能します。

0 投票する
2 に答える
1728 参照

android - 同じ TextView 内の異なる言語の SpannableString

たとえば、ListView に TextView があるとします。

TextView の値は Name(アラビア語) + "Shared" +Name(英語) です。

あなたが知っている英語は左から右に始まりますが、アラビア語は右から左に始まります

両方の名前が英語で書かれている場合は、正常に機能します

しかし、名がアラビア語の場合、このようになります

「共有」+名前(英語)+名前(アラビア語)

AlignmentSpan.Standard(Alignment.ALIGN_OPPOSITE) を試してみました

しかし、それは機能していません

これが私のコードです:

0 投票する
0 に答える
245 参照

android - スパン可能な文字列のテキストの上にスマイリー

以下のコードを使用して、画像スパンを追加しました。

setForegroundSpan() などのように、スマイリーを「一部のテキスト」の「一部」の背景として設定できる場合も、問題が発生する可能性があります。これについてコメントしてください。

0 投票する
1 に答える
247 参照

android - ImageSpans は、inputconnection / getExtractedText を介して取得されません

私は問題と少し戦っています。EditText ビューに書式設定されたテキストを書き込むアプリがあります。StyleableSpannableStringBuilder を介してそれを行います。

(1)、(2)、(3)、(4) を使用するかどうかに関係なく、EditText で期待される対応する装飾が得られるため、EditText に関する限り、「スパンは機能しています」。

フェンスの反対側には、次のように getCurrentInputConnection().getExtractedText(...) を介してこのテキスト コンテンツにアクセスする InputMethod があります。

ここで、やはり InputMethod の観点から、抽出されたテキスト内のスパンを取得したいと考えています。私はそのようなことを通して何をしますか:

私の問題は、(1) の ImageSpan スパンがこれらのスパン配列の一部ではないことです (スパンまたは rawSpans)。したがって、これらの特定のスパンを検出できず、それ以上の処理を行うことができません。ただし、(2) (3) または (4) を使用すると、予想どおり、それらはスパン配列の一部になります。抽出されたテキストを完全にバイパスする ImageSpan の特別な点は何ですか?

御時間ありがとうございます!