警报对话框:字符串未转换为粗体文本

时间:2018-06-16 15:38:50

标签: java android

我已经查看了这个问题,以帮助将粗体文本放在java字符串中。 Display string with bold letters in Dialog message

我使用了第二个答案,但公平地说,第一个答案可以应用于。

我想加粗我的文字,但它没有显示为粗体,并且与前一个问题中给出的答案相比,我不确定为什么我的文字没有显示为粗体。

这适用于Android应用程序,消息变量作为String参数传递,以便在警告对话框中使用。

的字符串,XML:

<resources>
    <string name="bold_yellow"><![CDATA[<b>yellow</b>]]></string>
</resources>
在课堂上

ShowRewardDialog("Test " + Html.fromHtml(getResources().getString(R.string.bold_yellow)) + " Bold");

下面是showRewardDialog()方法:

private void ShowRewardDialog(String message) {

        final Dialog dialog = new Dialog(Content.this);
        dialog.setContentView(R.layout.custom_dialog);

        SpannableString title = new SpannableString("YOU GAINED A REWARD");

        title.setSpan(new ForegroundColorSpan(Content.this.getResources().getColor(R.color.purple))
                , 0, title.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        // set the custom dialog components - text, image and button
        TextView text = dialog.findViewById(R.id.dialog_text);
        dialog.setTitle(title);

        text.setText(message);

        Button dialogButton = dialog.findViewById(R.id.dialog_button_OK);
        // if button is clicked, close the custom dialog
        dialogButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        dialog.show();
    }

1 个答案:

答案 0 :(得分:1)

使用spannable字符串,就像标题字符串一样:

<?php 
if(isset($_REQUEST['data']) ){
    if(!empty($_REQUEST['data']) && strlen($_REQUEST['data']) > 3){
        $api_data = $_REQUEST['data'];
        $json_data = json_decode($api_data, true);
        $hash_key = md5($api_data);
        $post_var  = array(
            'date' => date('m-d-Y h:m:sA'),
        );
        $post_var  = '{"apiData":'.$api_data.', "moreData":'.json_encode($post_var).'}';
        $readTheApis = __DIR__ . '/cdn/api_request_note.txt';
        $handl_log = fopen($readTheApis, "a+") or die("Failed to create log");
        $addlog = fwrite($handl_log, $post_var. "\r\n");
        fclose($handl_log);
        foreach ($json_data as $key => $val) {
            echo $key . ' | ' . $val;
        }
    }
}

start是第一个char为粗体的索引,length是粗体字符串的长度。