問題タブ [spanned]
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.
java - リストを入れる方法はありますかSaveInstanceState バンドルで?
Android アプリの SaveInstanceState に 2 つの String ArrayLists と 1 つの Spanned ArrayList を格納しようとしています。これは可能ですか?もしそうなら、例を挙げていただけますか?
java - Spanned キャストを使用した Html.toHtml (ClassCastException)
HTML を使用して (TextView で) 出力をフォーマットしようとしています。古い出力から HTML 形式のテキストを取得し、その 1 行上に新しいテキストを追加する必要があります。
これはコンパイルされますが、実行時に toHtml() メソッドで java.lang.ClassCastException: java.lang.String が発生します。toHtml() メソッドをそのように使用できると示唆する人を何人か見ましたが、何かが足りないのかもしれません。
android - SavedPreferences から Spanned に文字列をコピーするには?
SavedPreferences から文字列を取得し、その内容を Spanned クラスに入れて、Html マークアップを使用して EditText フィールドに表示できるようにしようとしています。現在のコードを以下に貼り付けましたが、String と Spanned が同じ型ではないため、なぜ機能しないのかがわかります...これを回避する良い方法を知っている人はいますか?
文字列を EditText に直接渡すことができません。以下のコードを使用してみました (「itemtext」は EditText です):
EditText は、次のように他の ItemGenActivity で宣言されます。
java - EditText 選択範囲でスケール
EditText
ズームしたいのですが、 setScaleX
/でスクロールするsetScaleY
とうまくいきます - テキストは正しい位置で編集されています。
しかし、テキストを選択しようとすると、テキストが拡大縮小されていないときのように、選択ハンドルが位置に描画されます。既知のバグです。
ビュー サイズに関連するポップアップ ウィンドウにハンドルが描画されるため、これは予期された結果です。
上のすべてのアクションandroid.widget.Editor
は、そのフィールドを対象としていますprivate TextView mTextView;
。また、リフレクションによって独自のエディターを設定する場合、オーバーライドできないプライベート メソッドをどうすればよいかわかりません。
また、レイアウトで計算されたポップアップ ウィンドウのandroid.widget.Editor.HandleView#HandleView
座標に選択ハンドルが描画されDynamicLayout
ます。
メソッドandroid.text.Layout#getPrimaryHorizontal(int, boolean)
は公開されており、その値は大規模に乗算できますが、そのためにはプライベート メソッドを拡張してオーバーライドする必要がありますandroid.widget.TextView#makeSingleLayout
が、これは問題です。
また、必要なすべてのオーバーライドされたメソッドを使用して独自のレイアウトを実装することもできますが、オーバーライドできるすべてのメソッドは@hide
注釈でマークされており、リフレクションでアクセスできるフィールドはありません。
次のスクリーンショットは、2 倍にスケーリングされた場合に表示されます
PS: タスクのコンテキストは、ピンチ ツー ズーム編集テキストを含むエディターです。サイズの計算によるテキストの再レイアウトは解決策ではありません。それぞれの画面サイズで Portable Document が必要だからです。
android - スパンされた文字列の文字列配列に太字のテキストのみを保存しますか?
ほとんどが通常のテキストで、あちこちにいくつかの太字のテキスト (1 つか 2 つの単語) が含まれるスパン文字列を含む段落の長いストーリーがあります。それは編集テキストにあります。そのスパンされた文字列を editText で検索し、太字の各テキストを文字列に保存できるようにしたいと考えています。私はそれを行う方法がわかりません。助言がありますか?
android - Spanned String の getSpans は、スパンを順不同で返しますか?
次のコードを使用して、すべての太字のテキストを配列内の文字列として保存するスパン文字列をふるいにかけます。
ただし、配列に返された文字列は順不同です。例えば:
文は次のようになります (CAPS は太字を表します):
返される配列は、「名詞、動詞、形容詞」の順です。「形容詞、名詞、動詞」
なぜこれが起こっているのかについての洞察はありますか?
android - スパンされたテキストは HTML タグを変更しますか?
Android アプリの edittext フィールドに太字のテキストを追加しました。挿入された太字のテキストが「words words」のように 2 つ以上の単語である場合、HTML では「<\b>words words</b>」としてタグ付けされます。ただし、単語の s をバックスペースで言うと、タグは "<\b>words</b>\ word</b>" に変更されます。これがなぜなのか知っている人はいますか?ありがとう
(太字のタグにスラッシュを追加して、タグを太字のテキストに変更するスタック オーバーフローの代わりにタグを表示します)
編集:
これは、太字のテキストを edittext ボックスに追加するコードです。
android - 笑顔の削除中に Android スパン テキストにテキストが表示される
私はSpannedText
入っていて、EditText
テキストを笑顔に置き換えています。たとえば、クールを笑顔に置き換えています。しかし、Androidフォン(Nexus 5 kitkat 4.4.4)でBackspaceを押すと、「(Smile)cool」と表示され、最後に文字が削除され、笑顔自体が削除されます。ただし、Genymotionエミュレーターでは、必要に応じて機能します。コードの何が問題になっていますか?
このコードは
この
バックスペース前
(仮想キーボードの) バックスペースを押した後
ログ出力:
あと3回
そしてここで笑顔が削除されました
android - Android EditText:BulletSpanで空の箇条書き段落を作成するには?
この質問と同じタイトルを使用します。私の質問はその質問と非常に似ていると思うので、受け入れられた回答を非常に注意深く読んでテストしましたが、受け入れられた回答はうまくいきません。私の質問を説明しましょう:
私のコードは次のようになります:
私が見たいのは:
- a
- b
- 【ここで第3弾を見たいが出てこない】
Spannable.SPAN_INCLUSIVE_INCLUSIVE
、Spannable.SPAN_INCLUSIVE_EXCLUSIVE
、Spannable.SPAN_EXCLUSIVE_INCLUSIVE
、を試しSpannable.SPAN_EXCLUSIVE_EXCLUSIVE
ましたが、これらのフラグはどれも機能しません。
そして、これらのコードを使用すると:
次に、期待される結果が得られます。
- a
- b
- c
ユーザーが箇条書きアイコンをクリックすると、空の箇条書きを表示する必要がありますが、新しい空の BulletSpan (ドットのみで、ただし、スパンの開始と終了に文字がない場合、ドットは表示されません。
ios - iOS / AttributedString: 単語を画像でオーバーレイするにはどうすればよいですか?
私はこれに苦労してきました。ユーザーは TextView にテキストや絵文字を入力する必要があります。絵文字を入力するために、自分の画像が入った絵文字キーボードを手に入れました。問題は、シンボルの上に絵文字の画像を同時に表示しながら、テキスト内の絵文字の記号(たとえば「(笑顔)」)を保持する必要があることです。
したがって、TextView.text プロパティは「Hello (smile)」を返しますが、ユーザーには「Hello [the picture]」が表示されます。
Android では、スパンされた文字列を使用して、テキストの一部を画像で覆うことができます。したがって、Androidでは問題なく目的を達成できました。
iOS では、属性付き文字列は Spanned と似た概念だと思っていましたが、これまでのところ、絵文字のコードを (NSTextAttachment を使用して) 写真に完全に置き換えることしかできませんでした。写真を含む 1 つの属性付き文字列と、コードを含む別の文字列を維持することなく、目的を達成する方法はありますか?