問題タブ [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 に答える
8808 参照

android - TextViewをImageViewの周りに配置するにはどうすればよいですか?

ここに画像の説明を入力してください

TextViewをImageViewの周りに配置しようとしています。私は次のコードを使用しています:

しかし、正確な結果を得ることができませんでした。何をすればよいでしょうか?この場合、SpannableStringBuilderを使用する必要がありますか、それとも別の方法がありますか。助けてください。私はこの投稿-http ://majaxandroidtips.blogspot.in/2009/06/how-to-have-few-layout-elements-wrap_17.htmlを使用 して解決策を見つけました。

PS:ImageViewの周りにも6dpのマージンが必要です

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

android - サイド ナビゲーション メニューに通知の数を表示する

私はHorizo​​ntal ScrollViewを使ってFacebookのようなサイドナビゲーションを取得しています

このような:

ここに画像の説明を入力

しかし、メニューのイベント項目の横にその「2」を表示するにはどうすればよいでしょうか?

私のアプリケーションでは、ViewUtil クラスを使用してこのメ​​ニューを取得しています。

アクティビティで次のようにアダプターを設定します。

「通知」テキストを「通知 n」のように設定します。ここで、n は上の写真の「2」のようなものです。スパン可能な文字列を使用しようとしましたが、スパン可能な文字列を文字列配列「arr」に設定できません

ありがとうございました

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

android - SpannableStringBuilder を XML として解析する簡単な方法はありますか?

エクスポート用にリッチ テキスト フィールドを XML ファイルに変換しようとしています。非常に複雑なプロセスのようです。たとえば、次のスパン レイアウトで SpannableStringBuilder を有効にするなど、StyleSpans を適切に閉じようとします。

<bold>some text<italics>more text</bold>even more text</italics>

適切なxmlに:

<bold>some text<italics>more text</italics></bold><italics>even more text</italics>

私に必要な反復を実行できるライブラリまたは関数、またはゼロから始めることなくスパンを適切に閉じるコード例はありますか?

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

android - TextView で複数の文字列にまたがるにはどうすればよいですか?

このコードを試して、「b」と「d」がまたがっている文字列「abcde」で TextView を作成しました。

結果は私が望むものではありません。a、c、e は無地の白、bd は青である必要があります。

私は何を間違っていますか?

'a' が無地の白、'bdce' が青の結果文字列

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

java - SpannableString を関数に渡し、 SpannableString を返す

正規表現の SpannableString テキストをシークし、その表現のインスタンスの最初と最後の文字を削除するコード スニペットを使用しています。この場合は、[角かっこ] で囲まれたテキストです。

出力は同じ SpannableString である必要がありますが、括弧はありません。例えば:

ただし、関数を呼び出してテキストを SpannableString 形式で返す構文が正しくありません。

変換を行うコード スニペットは次のとおりです。

SpannableString を関数に渡すときは、次のように (しようと) します。

エラーは、関数を呼び出す方法の構文にあると思われますが、よくわかりません。私の IDE (Eclipse) は、エラーが単語 (removeSquareBracketsFromText': "Type mismatch: cannot convert from CharSequence to SpannableString".

どんな助けでも感謝します。おそらくおわかりのように、私は Java を初めて使用し、バックグラウンドで変数の型変換を処理する MATLAB に慣れています。

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

android - SpannableString を ClickableSpan に変換する

クリックするとアクティビティを起動するテキスト文字列でクリック可能なリンクを作成しようとしています。Linkify() を使用して、テキスト内のリンクを検出しました。この関数は、テキストへのリンクを追加できますが、Web URL のみです。この手法を実装できるように、出力を ClickableSpan に変換する必要があります。

Linkify() の識別されたリンクを、アクティビティにつながる ClickableSpans にする方法を教えてください。

以下は、Linkify で使用したコードです。

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

spannablestring - EditText.getSelectionStart() で EditText の SpannableString を削除する方法

デルボタン機能を実装するのと同じように

EditText.getSelectionStart() で EditText の SpannableString を削除する方法

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

android - Android TextViewはKindle Fireでスパンを非表示にします

TextView の一部を非表示にしたい。具体的には、ユーザーに数学の問題を提示します。

9 * 9 = 81

81そして目立たないようにしたい。ユーザーが正解を入力すると、数字の「8」と「1」が表示されます。

透明色 ( #00000000Color.TRANSPARENTの両方)を使用しようとしましたがTextAppearanceSpan、KindleFire デバイスとエミュレーターを除くすべてのデバイスとエミュレーターで完全に機能します。ForegroundColorSpan

Kindle Fire では、「81」が濃い灰色で表示されます。ラスタライザーはLinearLayout、私のActivity.

ここに画像の説明を入力

私の質問は、TextViewどちらTextAppearanceSpanも使用せずにテキストの一部を非表示にするにはどうすればよいForegroundColorSpanですか? テキストを正しく測定するが、それをペイントしない別の「スパン」はありますか?

アップデート

私は、(タイトルから判断して)助けになるかもしれないいくつかの神秘的なRasterizerSpanとが存在することを発見しました。MetricAffectingSpan

ご覧のとおり、RasterizerSpan の唯一の意味は、Rasterizer を TextPaint オブジェクトに設定することです。

私はそれが有望だと思いました.一種の「無効な」ラスタライザー(何もしないだけです)を設定できれば、このテキストは見えなくなります。不運にも

助けにはなりませんでした。

私の別のアイデアは、「void」シェーダーを設定するカスタム ShaderSpan を実装することです。

しかし、「何も生成しない」シェーダーを作成する方法がわかりません。

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

android - 文字列内の文字を Image に置き換えてから、Textview に設定します。

EditTextbox から取得したこのタイプの文字列があります。今、すべての「:)」を image1 に、「:D」を image2 に置き換えたいと思います。string.replaceall(":)",image1) のようにしたいと string.replaceall(":D",image2).だから、小さなコードでこれを行う方法とパフォーマンスを向上させる方法を誰かに提案してもらえますか?

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

android - Android スパン可能な行の高さ

ここ数日間、これを理解しようとしてきましたが、成功していません...

私は現在アンドロイドを学んでおり、現在、学習プロジェクトとして歴史のある電卓を作成しています。すべての履歴を表示する TextView があります...電卓のフォントのように見えるデジタル フォントを使用していますが、これは数字と小数とコンマにのみ適しています。すべての演算子を強調表示し、別のフォント (現時点では Arial Narrow) で表示したい。カスタム フォントを適用する CustomTypeFaceSpan クラスを使用するフォントだけでなく、フォントの色を指定するスパン可能な文字列を使用して、これを美しく機能させることができました。

問題...書体を混在させると、行の高さに問題があるように見えるので、別のカスタム定義クラスを使用して、スパン可能なテキストの追加された各行に行の高さを適用する方法を示すこの投稿を見つけました。

これはうまくいかないようで、その理由がわかりません。異なる書体を適用しない場合、最初の行の上にスペースがなく、行間に約 5 ピクセルのスペースがあり、期待どおりに表示されます。代替書体を適用すると、テキストの最初の行の上に約 10 ~ 15 ピクセルのスペースがあり、行間隔はほぼ同じ 10 ~ 15 ピクセルです。

書体のみでフォントサイズに違いはありません。何が欠けていますか。LineHeightSpan を実装し、chooseHeight メソッドをオーバーライドする CustomLineHeightSpan を実装しました。私はそれを次のように呼びます:

WordtoSpan.setSpan(新しい CustomLineHeightSpan(10), operatorPositions.get(ii), operatorPositions.get(ii) + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

CustomLineHeightSpan への呼び出しに何を入れても問題ないようです。何も変わらない...

私が何を見逃しているのか、誰にもわかりません...「見逃したなんて信じられない」という答えだと思いますが、現時点では理解できないようです。

助けてくれてありがとう:-)