問題タブ [spannable]

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 投票する
4 に答える
11025 参照

android - SpannableおよびLinkMovementMethodを使用したTextViewの選択

私がこれまでに行ったことは、通常のテキストとクリック可能なスパンを持つテキストビューのリストビューです。 手つかずのアイテム

URLを開いているスパンをクリックし、textViewの周りのアイテムViewをクリックすると、listViewOnItemClickListenerがアイテムの詳細に移動します。 これで問題ありません。textViewの外側に触れたアイテム

今問題は次のとおりです。

アイテムtext通常のテキストを表示 アイテムtextViewスパンがタッチされました textViewに触れると、通常のテキストが少し強調表示され(アイテムが完全に選択されたときと同じ色で)、textViewのOnTouchListenertouchイベントは発生しますが、イベントは発生OnFocusChangeListenerせず、アイテムのViewは選択スタイルを取得しません。FOCUS_BLOCK_DESCENDANTSlistView、item Viewのすべてのバリエーションを試しましたが、textViewfocusableが有効または無効になり、同じ結果になりました。

幸い、textViewOnClickListenerイベントはこのように発生しますが、それは非常に醜いです。選択したテキストの色がアイテムの色と同じであるため、タッチが解放されていない間はテキストが表示されません。ユーザーがアイテムの詳細に移動していることを示す他の兆候はありません。その醜いテキストが消えるより。

textViewのコンテンツがでSpannableあり、CliclableSpanではない部分がこの奇妙な方法で動作するために発生するのではないかと思います。

通常のテキストに触れたら、アイテムを選択できる可能性はありますか?


listViewアイテムのレイアウト:

テキストビューsetClickable(false)を使用すると、テキストビュー領域に触れても何も起こらないように、この奇妙な選択スタイルを無効にすることができます。これは良くありませんが、解決に役立つ可能性があります。

また、各アイテムにフォーカス不可およびクリック不可のボタンを追加しようとしました。タッチするとアイテム全体が選択され、タッチを離すとアイテムのクリックイベントが渡されます。これは、Spannableコンテンツを含むtextViewに期待したとおりです。

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

android - Spannableテキストはカスタマイズ可能ですか?アンドロイド


結果

しかし、私がこれを置くと:

0から4までのテキストが色付けされているので、機能します。

結果

だから、私の質問は:

リンクの色(青色で下線が引かれているもの)を変更するにはどうすればよいですか?

ありがとう

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

android - Spanned TextviewHTMLフォーマットはlastinloopにのみ適用されますか?

すべての要素をループしてTextviewに設定できる必要があります。ただし、数字を下付き文字にフォーマットする必要もあります。ループを使って試してみましたが、最後の数字だけが正しくフォーマットされていました。

たとえば、Fe2Zn7Ag4と入力した場合、下付き文字は「4」のみになり、残りは通常どおりになります。これが私のコードです:

また、下付き文字はすべて半分にカットされます。プログラムを実行すると、添え字番号の上半分だけが表示されます。

この両方の問題を修正する方法はありますか?

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

android - 選択したテキストをハイパーリンクに変換するにはどうすればよいですか?

選択したテキストを[テキストの編集]から[ハイパーリンク]に変換したい。基本的に私はハイパーリンクでテキストを変換する方法を知っていますが、テキストの編集ではできません。

Linkifyを試しましたが、機能しません。

どんな助けでもいただければ幸いです。

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

android - Androidのedittextでspannableを使用する

Edittextで絵文字を表示するためにAndroidで絵文字を表示するという回答からこのコードを入力しましたが、大量のテキストを入力すると問題が発生し、入力が遅くなり、ほとんど不可能になります。これはコードです:どうすればそれをより速くすることができますか?

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

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

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

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

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

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

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

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

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

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

android - Androidのテキストビューの一部をクリック可能にする

テキストビューにテキストを表示する必要があります。テキストの一部をクリック可能にし、残りのテキストを通常のテキストにしたいだけです。

これが私のコードです:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

java - textViewのAndroidでスパン可能

AndroidアプリケーションでTwitterデータを設定しています。Spannableを使用してフォントを太字と斜体にしたいのですが、機能せず、エラーが発生します。どうすればいいですか?

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

android - AndroidでのSpannableとStringの違い

Spannable不思議なことに、Androidの目的は何ですか。char配列では不十分ですか?