問題タブ [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 に答える
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 への呼び出しに何を入れても問題ないようです。何も変わらない...

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

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

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

android - Android でカスタム Spannables を作成する方法はありますか?

私の Android アプリには、リンク付きのテキスト ビューがあります。それぞれが特定のイベントを切り替えています (ブラウザを開く、別のアクティビティを開始するなど)。それを処理するために、これを行うよりも良い解決策は見つかりませんでした:

次に、テキストビューを表示するときに、各リンクを SpannableStringBuilder を使用してカスタム スパン可能に変換します。

私はこれがハックであることを知っています。これが、他に良い方法があるかどうかを知りたい理由です。

私には2つのアイデアがあります:

  • 独自のマーシャリング システムでカスタム スパナブルを実装することは可能ですか? たとえば、次のようなカスタムのスパン可能な一致タグ:

    <div class="foo"></div>

次に、FooClickableSpannable拡張をClickableSpan自動的に検出しますfromHtml()

  • カスタム URL スキームを使用してアクティビティを開くことができましたが、他の方法がある場合にアプリ チューザーを表示しないようにする方法がわかりません。
0 投票する
2 に答える
5501 参照

android - テキストの一部にカスタム フォントを使用する

これにより、TextView 全体の通常のテキストが得られます。

ありがとうございました。

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

android - SpannableString を使用して文字列内の複数の単語を強調表示する

特定の単語に下線を引くために a を使用してSpannableStringいますが、複数の単語がある場合、コードが最初の単語のみを強調表示することに気付きました。複数の単語を強調表示する方法が正確にわかりません:

すべてのスペースでテキストをループしてループできると思ってsplitいましたが、もっと良い方法があるかどうかはわかりませんでした。

正規表現を使用して複数の単語を強調表示するこのコードがありますが、正規表現は Android アプリにあり、で使用しているため、正規表現を避けようとしてListViewいますが、非常に高価であると言われています。また、このコードは単語全体のみを強調表示しているため、上記の例のテキストを使用すると、「抗議」という単語が文に含まれている場合、このコードを使用しても強調表示されません。

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

android - TextView の一部に異なるフォントと色を設定する

私はこれを試しました:

しかし、これはうまくいきませんでした。

最新の setSpan のみを取得します。つまり、テキストの色は変更されていますが、フォントは変更されていません。

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

android - SpannableStringBuilder でビットマップを揃える

ビットマップを SpannableString のテキストに揃えるにはどうすればよいですか?

これらの画像の問題を示したいと思います。

私が望むのは、テキストと画像の両方を垂直方向に中央揃えにすることです(テキストは問題ありませんが、画像はそれを台無しにします)。

結果は次のとおりです。 ここに画像の説明を入力

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

android - EditTextのImageSpanでテキストがめちゃくちゃになっている

ユーザーがテキストや絵文字を送信できるシンプルなチャットアプリを作成しています。テキストと絵文字の両方を別の電話に送信できます。私の問題は次のとおりです。

1.何かを入力して絵文字を追加する場合:

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

その場合、画像の直前と直後にテキストを入力できません。「o」の文字の前に書くことができます。システムは入力した内容を「認識」するため、スマイリーの後に「Honey」と入力しても表示されませんが、EditTextがそれを登録し、メッセージが送信されます。

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

2. Edittextに絵文字だけを追加して削除すると、削除された絵文字が表示されるため、何も入力できません。表示されるのは1回だけなので、入力した文字数に関係なく、EditTextは絵文字を削除する直前のように見えますが、3つの場合と同様に、テキストは絵文字なしで送信されます。

3. EditTextに「something」と入力し、「some」の後に絵文字を挿入します。

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

次に、絵文字の後にカーソルを置いて削除します。残っているものは次のとおりです。

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

しかし、送信ボタンを押すと、正しいメッセージが送信されます。

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

これが絵文字のボタンリスナーの内部にあります(このメソッドは、絵文字をクリックしてEditTextに追加するとアクティブになります)。

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

android - コマンド文字列と応答文字列に異なる色の EditText を使用してディスプレイを構築するにはどうすればよいですか?

USB 経由でタブレットを使用して PIC システムと通信できるように、ハイパーテキストのようなアプリケーションを実装しようとしています。私のコンセプトは、2 つの EditText ビューを表示するフラグメントを作成することです。1 つはタブレットでコマンドを構成および編集できるようにするビューで、もう 1 つは双方向のすべてのトラフィックを保持するビューです。

構成された文字列をソートしてトラフィックビューに追加するところまで来ました。ただし、タブレットで生成された文字列を、PIC で生成された応答に使用される色とは異なる色で表示できるようにしたいと考えています。setSpan の多数の組み合わせと順列を試しましたが、うまくいきませんでした - 何かアイデアはありますか? 私はまた、同じ目的を達成するための他の方法にもオープンです。

私が使用しているJavaコードは次のとおりです。

Html.fromHtml を使用した作業コードは次のとおりです。

}

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

android - SpannableStringの作成中にNullPointerExceptionがスローされました

spannableStringを使用してテキストに部分的に下線が引かれているテキストビューを作成しようとしていますが、これを実行しようとするとnullpointerexceptionが発生します。これが私のコードです:

よろしくお願いします。

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

android - SpannableStringInternalからのStringIndexOutOfBoundsException

私は市場から次のバグレポートを受け取り続けています。

苛立たしい部分は、これがandroid自体の内部から発生していることです-そして私のコードに出発点がありません。いくつかの調査を行った後、これはヘブライ語のユーザーにのみ発生し、Googleのバグへのこのリンクを見つけました-http://code.google.com/p/android/issues/detail?id= 30889

私は当然、このバグに割り当てられたライターとGoogleの従業員に連絡しようとしましたが、誰もカーテシーや返信を持っていません。

スパンを設定する私の関連コードは次のとおりです。

検索語は名前の一部です。searchTermの部分を別の色でマークして、ユーザーに見やすくしたいと思います。

私はこれに本当に多くの時間を費やしました、そして私は私の4つのテストデバイスと8つのAVDでそれを再現することさえできなかったので私はちょっと迷っています。Spannablesなしで同じことをするためのヒント\提案は大歓迎です。