问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android 怎样用html文件

发布网友 发布时间:2022-04-20 09:59

我来回答

2个回答

懂视网 时间:2022-04-20 14:21

本篇文章主要介绍了android中使用Html渲染的方式实现必填项前面的*号示例,具有一定的参考价值,有兴趣的可以了解一下

项目的个人基本信息UI界面效果图如下,有一个红色的*号,并且跟它挨着的文字颜色不一样。简友们,你们是怎么实现的呢?我这里主要介绍一种有Html渲染的方式


一开始,我测试过用一个TextView来单独装载符合,发现如果需求改颜色的时候那所有的TextView都需要改一遍颜色,接着测试了用一个TextView把符合和对应的文字装载在一起,但是发现*符号的高度不好控制,最后觉得用Html渲染的方式最佳。不多说了,开始正文内容。

1、Xml布局(只选取对应的部分)

这里的*符号和文字其实也是公用一个TextView

 <LinearLayout
 style="@style/style_match_line_layout"
 android:layout_marginTop="10dp" >

<!--主要看这个TextView-->
 <TextView
 android:id="@+id/tv_nation"
 style="@style/style_job_textview_text_title"
 tools:text="*民族"
 android:text="@string/tip_nation" />


 <RelativeLayout
 android:id="@+id/view_nation"
 style="@style/style_job_textview_text_message"
 android:clickable="true" >

 <EditText
 android:id="@+id/et_nation"
 style="@style/style_editext"
 android:hint="@string/tip_please_select" />

 <ImageView style="@style/style_editext_image_arrow" />
 </RelativeLayout>
 </LinearLayout>

2、创建对应String资源

这里可以单独设置*符号和文字的颜色、加粗等操作

代码如下:

<string name="tip_xinghao_nation"><Data><![CDATA[<font color="#e60012"> *</font><font color="#189dde">民族 : </font>]]></Data></string>

3、java代码中实现渲染

tvNation.setText(Html.fromHtml(getString(R.string.tip_xinghao_nation)));

到这里就可以实现效果图里面的效果了,如果更改*符号和文字颜色和大小的时候,统一在String资源哪里更改就可以了。

热心网友 时间:2022-04-20 11:29

html页面(命名:Android.html放在assets文件夹下):::::
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script language="javascript" type="text/javascript">
function get4Android(str){
 document.getElementById("show").innerHTML="This is a message from android:"+str;
 }
</script>
</head>
<body>
  <div id="show"></div>
</body>
</html>
 
Text.java代码:::
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
public class Text extends Activity implements OnClickListener {
 
    private Button button;
    private TextView text;
    private WebView web;
    private EditText edit;
    private Handler handler;
 
    private void initView() {
        button = (Button) this.findViewById(R.id.button2);
        web = (WebView) this.findViewById(R.id.webView1);
        edit = (EditText) this.findViewById(R.id.editText1);
        button.setOnClickListener(this);
    }
 
    private void setWebView() {
        web.setWebViewClient(new WebViewClient());
        web.requestFocus();
        WebSettings setting = web.getSettings();
        setting.setJavaScriptEnabled(true);
        web.setOnTouchListener(new OnTouchListener() {
 
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                web.requestFocus();
                return false;
            }
        });
        web.addJavascriptInterface(new SendAndroid(), "theKey");
        web.loadUrl("file:///android_asset/android.html");
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initView();
        setWebView();
 
        handler = new Handler() {
            public void handleMessage(android.os.Message msg) {
                String str = msg.obj.toString();
                text.setText(str);
            };
        };
    }
 
    @Override
    public void onClick(View v) {
            Editable editable = edit.getText();
            web.loadUrl("javascript:get4Android(\"" + editable.toString()
                    + "\")");
    }
 
    class SendAndroid {
        public void runOnAndroidJavaScript(final String str) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    System.out.println("******" + str);
                    Message mes = handler.obtainMessage();
                    mes.obj = str;
                    handler.sendMessage(mes);
                }
            }).start();
 
        }
    }
}
 
主要是:web.loadUrl("javascript:get4Android(\"" + editable.toString()+ "\")");中的“javascript:get4Android”要和html中的【function get4Android(str){
 document.getElementById("show").innerHTML="This is a message from android:"+str;
 }】方法名相同

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
情侣文案英文高级浪漫87句 Love to the people don't wave.什么意思 gladtomeetyou怎么 gladtomeetyou.怎么回答 2016生肖猴运程 武汉买房88平方满50万落户政策 非武汉市户口在武汉市购买70平方总价50万的商品房,可以转户口吗... 我想在武汉买一套50万左右的新房子,谁能告诉我现在武昌,关山,江夏,有... 支付宝怎么开通步数授权? 总价50万能在武汉买一套两室一天的二手房吗? 推荐一款智能手机:价格2000元左右,拍照像素要高,触屏屏幕要大些。运行速度要快,男生用 想买个手机.1200左右.屏幕要大一点的.我的是电信的.网速要快点的.哪个手机好 我的苹果笔记本买回来用鲁大师检测出固态硬盘使用次数是刚好一万次 MAC 15寸 MD103 测试硬盘结果,各位来看看.顺便拿分 帮帮小忙.. macbook上有什么好的硬盘检测工具吗 QQ密保忘了,怎么改密码? 下载什么软件才能把苹果手机里的通讯录设为隐私呢 通讯录防护怎么做 新款科鲁兹怎么连蓝牙?老科鲁兹怎么连接蓝牙 自己的苹果id密码忘记了怎么办 炒鸡蛋 前 用洗外壳吗? 洗衣机羽绒服怎么洗最好的方法 如何在android中添加一个.html 股票壳干净是什么意思 怎么给小乌龟洗壳?拿什么洗? 乌龟壳什样做成粉、先什样洗壳 经常吃鹌鹑蛋会不会长斑 孩子吃鹌鹑蛋会长斑吗 宝宝吃鹌鹑蛋会长雀斑吗? 宝宝吃鹌鹑蛋会长雀斑吗 天翼云盘手机登陆不上 莹石云卡坏了以前的视频会被覆盖吗 学生云卡在苹果手上怎么打不开 关于网上购物手机 手机网上购物 淘宝网网上购物手机 内存32GB等于多少G? 网上购物 手机 古中国有什么文明成就 古代中国文明 中国七大文明古分别是哪里? 四大文明古国,为什么中国不被称为古中国? 请问如何用android解析html格式的字符串,并显示在一般控件中 查车保险到期怎么查询 有什么东西能够粘在布上,吸的牢的,而且对布不会有损害? 布底热熔胶片是什么 热熔胶可以粘合乳胶布吗 Android解析HTML怎么获取&lt;br&gt;中的内容 贷款周息百分之十是什么概念呢?计算方式是怎样的? 存款175万周利率2.10000%利率是怎么算