私はリンクを含むいくつかのHTMLテキストを持つTextViewを持っています。 TextViewにスタイルを追加しましたが、リンクはリンクとして表示されません。Android:TextViewのインラインHTMLリンクをスタイリング
文字列:
<string name="strPrivacyPolicyAndContact">See our %1$s Privacy Policy %2$s or contact us for more information: [email protected]</string>
TextView
のxml:
<TextView
android:id="@+id/privacyAndContact"
style="@style/NewFont_Label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:gravity="left"
android:text="@string/strPrivacyPolicyAndContact" />
NewFont_Label
スタイル:
<style name="NewFont_Label">
<item name="android:textSize">12sp</item>
<item name="variant">medium</item>
<item name="android:textColor">@color/label</item>
<item name="android:textAllCaps">true</item>
<item name="android:letterSpacing">0.02</item>
</style>
コード:
private static final String PRIVACY_HREF = "<a href=\"http://www.beatrixkiddo.com\privacy\">";
private static final String END_TAG = "</a>";
privacyAndContact = (TextView) view.findViewById(R.id.privacyAndContact);
privacyAndContact.setText(Html.fromHtml(getString(R.string.strPrivacyPolicyAndContact, PRIVACY_HREF, END_TAG)));
スタイルを追加した後
:
質問:
ノー結果とすべての可能なHTMLタグを追加しようとしたが、スタイルを追加する前に
。
下線や色でリンクのスタイルを設定するにはどうすればよいですか?
更新
私はSpannableStringを試してみたが、それの影響はTextViewに上style
を印加することによって、破棄されている:
SpannableString privacy = new SpannableString(getString(R.string.strPrivacyPolicyAndContact));
privacy.setSpan(new URLSpan("http://www.beatrixkiddo.com/privacy"), 13, 26, 0);
privacy.setSpan(new UnderlineSpan(), 13, 26, 0);
privacy.setSpan(new ForegroundColorSpan(Color.RED), 13, 26, 0);
privacyAndContact.setText(privacy);
のでspannableは、このケースでは動作しません。どちらか。
代わりにspannableStringを使用してください。 –
親文字スタイル – Qamar
FYI 'Html.fromHtml(string)'は 'Nougat'で廃止されました。 'Html.fromHtml(string、int)'の他のメソッドを使用して、以下のデバイスのフォールバックメソッドを使用してください。 –