相关疑难解决方法(0)

从XML格式的html格式的字符串资源中设置TextView文本

我的内部有一些固定的字符串strings.xml,例如:

<resources>
    <string name="somestring">
        <B>Title</B><BR/>
        Content
    </string>
</resources>
Run Code Online (Sandbox Code Playgroud)

在我的布局中,我有一个TextView我想填充html格式的字符串.

<TextView android:id="@+id/formattedtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/htmlstring"/>
Run Code Online (Sandbox Code Playgroud)

如果我这样做,内容formattedtext只是somestring剥离任何html标签的内容,因此没有格式化.

我知道可以用编程方式设置格式化文本

.setText(Html.fromHtml(somestring));

因为我在我的程序的其他部分使用它,它按预期工作.

要调用这个函数我需要一个Activity,但是目前我的布局只是一个简单的或多或少的静态视图,我希望保持这种方式,以节省我创建一个Activity刚刚设置一些的开销文本.

我忽略了一些明显的东西吗 它根本不可能吗?欢迎任何帮助或变通方法!

编辑:刚试了一些东西,似乎xml中的HTML格式有一些限制:

  • 标签必须写成小写

  • 这里提到的一些标签 不起作用,例如<br/>(可以改为使用\n)

html formatting android textview

191
推荐指数
6
解决办法
20万
查看次数

Android - 将TextView设置为粗体不起作用

这是XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/modal_list_row"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="7.5dp"
    android:orientation="vertical" >

    <TextView
                android:id="@+id/title_text_view"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:gravity="center"
                android:text="@string/alert_title_small"
                android:textColor="@color/alert_dialog_text_color"
                android:textSize="@dimen/alert_dialog_title_font_size"
                android:textStyle="bold" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

尽管图形布局显示粗体文本,但设备上却没有.它是设备还是什么?

更新:

对于那些不断要求完整XML的人来说,这里会更新.一个简单的相对布局.这是Java代码:

this.titleTextView.setText(this.modalListState.title);
Run Code Online (Sandbox Code Playgroud)

需要考虑的事项:可能是因为设备字体?有没有人有Galaxy S3确认?这可能是活动风格吗?这是用于整个应用程序的一个:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<!--
    Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.

-->
<style name="AppBaseTheme" parent="android:Theme.Light">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.

    -->
</style>

<!-- Application theme. -->
<style …
Run Code Online (Sandbox Code Playgroud)

android textview

26
推荐指数
4
解决办法
2万
查看次数

在 AlertDialog.Builder 中设置文本格式

我无法让 AlertDialog 中的文本以粗体或斜体显示。

我尝试过直接格式化,也尝试过使用Android 字符串资源页面中的 CharSequence 实用程序,但我总是只得到纯文本。
我究竟做错了什么?

MyFragment.java

String idFormatted = String.format(resources.getString(R.string.id));
CharSequence idStyledText = Html.fromHtml(idFormatted);

CharSequence nameItalic = Utilities.italic(resources.getString(R.string.name));

String typeFormatted = String.format(resources.getString(R.string.type));
CharSequence typeStyledText = Html.fromHtml(idFormatted);

AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setPositiveButton("Dismiss",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
            }
        }).setIcon(android.R.drawable.ic_dialog_info);

builder.setMessage( idFormatted + myData.getId() + "\t\t" +  nameItalic + myData.getName() + "\t\t" +  typeFormatted + myData.getType() );   
Dialog dialog = builder.create();
dialog.setTitle("Details");
dialog.show();        
Run Code Online (Sandbox Code Playgroud)

字符串.xml

<string name="id"><i>Id: </i></string>
<string name="name"><i>Name: </i></string> …
Run Code Online (Sandbox Code Playgroud)

android android-dialog

7
推荐指数
1
解决办法
3696
查看次数

在Android strings.xml文件中使用HREF

我正在尝试从strings.xml文件中为TextView android:text属性分配以下字符串.我无法将链接显示为可点击的超链接.有什么建议?我尝试过以下技巧.

 <string name="no_device_body">click following link: <![CDATA[<a href="http://cnn.com">link1</a>]]>
 </string>

 <string name="no_device_body">click following link: http://cnn.com">
 </string>
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×4

textview ×2

android-dialog ×1

formatting ×1

html ×1