[android] Android : strings.xml의 html

예를 들어 다음 HTML 코드를 표시하고 싶습니다.

<body>
    <p><b>Hello World</b></p>
    <p>This is a test of the URL <a href="http://www.example.com"> Example</a></p>
    <p><b>This text is bold</b></p>
    <p><em>This text is emphasized</em></p>
    <p><code>This is computer output</code></p>
    <p>This is<sub> subscript</sub> and <sup>superscript</sup></p>
</body>

리소스에서 html을 선언하여 대화 상자에 표시하고 싶습니다 strings.xml. 어떻게하니?



답변

strings.xml에 html 소스 코드를 추가하는 가장 좋은 방법은 <![CDATA[html source code]]>. 다음은 그 예입니다.

<string name="html"><![CDATA[<p>Text</p>]]></string>

그런 다음 다음을 사용하여이 html을 TextView에 표시 할 수 있습니다.

myTextView.setText(Html.fromHtml(getString(R.string.html)));

HTML에 링크가 있고 클릭 할 수 있도록하려면 다음 방법을 사용하십시오.

myTextView.setMovementMethod(LinkMovementMethod.getInstance());


답변

여기에 대부분의 예가 있습니다. pre태그가 지원 되지 않는다고 생각합니다 .

여기에 이미지 설명 입력

다음은 strings.xml파일입니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Formatting</string>
    <string name="link">&lt;b&gt;Hello World&lt;/b&gt; This is a test of the URL &lt;a href="http://www.example.com/"&gt;Example&lt;/a&gt;</string>
    <string name="bold">&lt;b&gt;This text is bold&lt;/b&gt;</string>
    <string name="emphasis">&lt;em&gt;This text is emphasized&lt;/em&gt;</string>
    <string name="sup">This is &lt;sub&gt;subscript&lt;/sub&gt; and &lt;sup&gt;superscript&lt;/sup&gt;</string>
</resources>

여기에 레이아웃이 있습니다. 링크를 실제로 클릭 할 수 있으려면 약간의 추가 작업이 필요합니다.

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:id="@+id/test1"
            android:linksClickable="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="12dp"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"/>
        <TextView
            android:id="@+id/test2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="12dp"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"/>
        <TextView
            android:id="@+id/test3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="12dp"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"/>
        <TextView
            android:id="@+id/test4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="12dp"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceMedium"/>
    </LinearLayout>
</ScrollView>

마지막으로 코드 :

TextView test1 = (TextView)findViewById(R.id.test1);
Spanned spanned = Html.fromHtml(getString(R.string.link));
test1.setMovementMethod(LinkMovementMethod.getInstance());
test1.setText(spanned);

TextView test2 = (TextView)findViewById(R.id.test2);
test2.setText(Html.fromHtml(getString(R.string.bold)));

TextView test3 = (TextView)findViewById(R.id.test3);
test3.setText(Html.fromHtml(getString(R.string.emphasis)));

TextView test4 = (TextView)findViewById(R.id.test4);
test4.setText(Html.fromHtml(getString(R.string.sup)));


답변

String.xml은 다음과 같이 HTML 엔티티를 포함 할 수 있습니다.

<resources>
    <string name="hello_world">&lt;span&gt;</string>
</resources>

코드에서 : getResources().getString(R.string.hello_world);로 평가됩니다 "<span>". 다음과 같이 HTML 형식의 텍스트를 사용할 수 있습니다.

TextView helloWorld = (TextView)findViewById(R.id.hello_world);
helloWorld.setText(Html.fromHtml(getString(R.string.hello_world)));


답변

XML 리소스 시스템에서 지원하는 모든 스타일은 Android 문서에 설명되어 있습니다.

문자열 리소스 : 서식 및 스타일 지정

여기에 포함 된 모든 항목을에서 직접 사용하고 설정할 수 있습니다 TextView. 당신이 더 HTML 마크 업을 사용해야하는 경우 (탈출을위한 문자 원시 HTML을 배치해야합니다 &lt;, &gt;자원에 등)과의 전체 일을로드합니다 WebView.


답변

이것은 나를 위해 일했습니다.

<?xml version="1.0" encoding="utf-8"?>

<string name="app_name">Sangamner College</string>
<string name="about_desc"><![CDATA[In order to make higher education available in the rural environment such as of Sangamner, Shikshan Prasarak Sanstha was established in 1960. Sangamner College was established by Shikshan Prasarak Sanstha, Sangamner on 23rd January 1961 on the auspicious occasion of Birth Anniversary of Netaji Subhashchandra Bose.The Arts and Commerce courses were commenced in June 1961 and in June 1965 Science courses were introduced. When Sangamner College was founded forty years ago, in 1961, there was no college available to the rural youth of this region. <br><br></>The college was founded with the aim of upliftment of the disadvantageous rural youth in all respects. On one hand, we are aware of the social circumstances prevailing in the rural area where we are working. So, we offer the elective option to students, which are favourable to the local atmosphere. On the other hand, we want to academically empower the aspiring youth by offering vocational course in Computer Applications to students of Arts &amp; Commerce. B.B.A., B.C.A. and M.C.A. courses were started with the same purpose. “Think globally, act locally” is our guiding Principle.]]></string>


답변