問題タブ [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 投票する
7 に答える
4154 参照

android - ReplacementSpan の draw() メソッドが呼び出されない

私はそのような文字列で背景を設定します:

しかし、このバックグラウンドで左右のパディングを増やしたいので、カスタムスパンを作成しました

私はスパンを次のように使用します。

残念ながら、私の draw() メソッドは呼び出されません。getSize() が正しく呼び出されます。

0 投票する
4 に答える
4223 参照

android - SpannableString は初めて色が変わりますが、再利用されたときは変わりません

子供たちが数学を学ぶのを助けるゲームを作ろうとしています。番号を色分けして、ロジックに従うことができるようにします。また、textView.append() を使用して、アクティビティに入れる長い文字列を作成します。

命令で同じ数字/記号を再利用するため、SpannableStrings を簡単にリサイクルする方法が必要でしたが、行った変更は最初は正しく適用されているようですが、その後は機能することもあれば、部分的に機能することもあります (正しいサイズなど)。 /alignment, but wrong color)、またはまったく機能しません。私はそれをすべて混ぜ合わせています。Stackoverflow や Google の他の場所で同様の問題を経験している人を見つけることができないようです。

これが私のコードです(簡略化):

(XX、YY、または ZZ のコードを提供しなかったことに注意してください...共有設定からデータを取得する必要があるため、もう少し複雑ですが、これらは他の数学記号と本質的に同じ問題を経験します/オペレーター)。

これは結果のスクリーン キャプチャです。

ここに画像の説明を入力

おそらく、私の問題の最も良い例は + (プラス記号) です。最初は予想どおり黒ですが、4 文字 (スペースを含む) だけで間違った色 (以前の SpannableString から取得した可能性が高い青) になりますが、配置とサイズは正しくなっています。次の色付き文字列では、期待どおりに表示されます (黒、中央揃え、大) が、その後の「色付き」文字列 (小、左揃え、緑、段落テキストのように) ではまったく書式設定されていません。使用されたコードは上記とまったく同じように見えます (つまり、math1.append(PLUS);) が、出力は一貫して私が期待したものではありません。

最後の情報: 変数をグローバルに宣言する前に、毎回同じ makeBlack() 関数と math1.append() 関数を使用して変数をローカルに宣言しましたが、完全に機能しました。変数をグローバルに設定した後にのみ、この奇妙な動作が発生します。

ここで何がうまくいかないのかについての提案はありますか?

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

android - SpannableString.setSpan が機能しない?

さまざまな色を設定しようとしています

strのインスタンスですStringBuilder。true の場合は最後の文字miscTextViewが青になりisBlue、それ以外の場合はピンクになり、残りのテキストは黒のままになると予想しています。
しかし、どちらの場合も最後の文字が灰色であることが判明し、本当に混乱しています。私は何を間違えましたか?

編集: カラー リソース xml を既に確認しています。Intellij は、xml コード行の左側に色を表示します。

0 投票する
3 に答える
944 参照

java - 2 つのテキスト、通常の 1 つ、反対の 1 つを揃える

合計 4 つのテキストがあるボタンを使用してアプリケーションを作成し、最初の 2 つを揃えたいと考えています。

だからこれから:

前

setText(item.title + " " + item.roomId + "\n" + item.teacher + " " + item.classes);

これに:

After (これが欲しい)

setText(declare here a spannable);

私はSpannableAlignment.ALIGN_NORMALで作業する必要があると思います.andでいくつか試しましたAlignment.ALIGN_OPPOSITEが、最初に下部テキストの長さを計算してから配置を行う必要があると思います. (ここで良い例を見つけましたが、私のセットアップでは機能しません)。

誰かが私を良い方向に向けてくれることを願っています。

編集:

RelativeLayout私が使用できない(と思う)理由LinearLayoutは、別のクラスでボタンを拡張しているためです(ScheduleItemView.java):

私はprotected void onLayoutScheduleItemsLayout.java)でこれをやろうとしました:

しかし、それはうまくいきません。を使用する必要があるかどうかわかりませんnew RelativeLayout(this)

Spannableこの場合は使った方が良いですか?

プロジェクトのソースはここからダウンロードできます(Eclipse にインポートできます)。

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

android - Androidでスタイル付きテキストをページに分割する方法は?

複数のページに分割したい長いテキストがあります。また、このテキストのスタイルを設定する方法も必要です。

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

android - BackgroundColorSpan は常に黄色

なぜか色はいつも黄色。私は2つの緑がかった色を試しました:

0xBFFFC60x99FF99

どこかで色の順番を間違えている気がします。

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

android - spannablestring の行の高さを制限するが、残りの行は維持する方法

検索された用語を強調表示するためにTextView、内部にがあります。SpannableStringそのようです :

ここに画像の説明を入力

android:lineSpacingExtraご覧のとおり、線に適切な間隔を与えるために使用していますが、SpannableString背景が高すぎます。行間の間隔を維持したいが、SpannableString短くしたい。

これはどのように可能ですか?