日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

原生与html,解析原生与html之间进行的一些关联

發(fā)布時間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原生与html,解析原生与html之间进行的一些关联 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.Android中設(shè)置部分字體的顏色改變,并且能點擊

1, 使用SpannableStringBuilder來實現(xiàn)//1,使用 SpannableStringBuilder , 參數(shù)中的數(shù)字表示修改的片段的起始位置和結(jié)束位置

TextView tv_1 = (TextView) findViewById(R.id.textView_1);

String str_1 = "使用 SpannableStringBuilder 來實現(xiàn)部分字體顏色的改變";

SpannableStringBuilder ssb = new SpannableStringBuilder(str_1);

ssb.setSpan(new ForegroundColorSpan(Color.RED), 0, 10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );

ssb.setSpan(new ForegroundColorSpan(Color.YELLOW), 12, 22,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );

ssb.setSpan(new ForegroundColorSpan(Color.GREEN), 23, str_1.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );

tv_1.setText(ssb);

2, 使用 html 來實現(xiàn)//2,使用html來修改部分字體的顏色

TextView tv_2 = (TextView) findViewById(R.id.textView_2);

String str_2 = "使用 Html 來實現(xiàn)部分字體顏色的改變";

tv_2.setText(Html.fromHtml("使用 Html 來實現(xiàn)部分字體顏色的改變"));html = "

"

+ "

"

+ "

城郊 "

+ "

"

+ "";

_Holder.station_change.setText(Html.fromHtml(html));

3 , 使用SpannableStringBuilder來實現(xiàn),或者 SpannableString來實現(xiàn)部分字體的顏色的改變,并且能點擊,這里用到了ClickableSpan//3,實現(xiàn)部分字體顏色的改變,并能點擊

TextView tv_3 = (TextView) findViewById(R.id.textView_3);

String str_3 = "實現(xiàn)部分字體顏";

String str_4 = "色的改變并且能點擊";

//這里無論是使用 SpannableString 還是 SpannableStringBuilder 都一樣

SpannableString ss = new SpannableString(str_4);

// SpannableStringBuilder s = new SpannableStringBuilder(str_4);

MyClickableSpan clickSpan = new MyClickableSpan(this, str_4);

ss.setSpan(clickSpan, 0, str_4.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

tv_3.setText(str_3);

tv_3.append(ss);

//必須加這一句,否則就無法被點擊

tv_3.setMovementMethod(LinkMovementMethod.getInstance());/**

* 這個類 實際上和第一種改變顏色的方法差不多,只不過 那是個專門改變顏色的Span,這是個專門負責(zé)點擊處理的Span

* @author Administrator

*/

class MyClickableSpan extends ClickableSpan{

private Context context;

private String text;

public MyClickableSpan(Context context,String text)

{

this.context = context;

this.text = text;

}

//在這里設(shè)置字體的大小,等待各種屬性 public void updateDrawState(TextPaint ds) {

ds.setColor(Color.RED);

}

@Override public void onClick(View widget) {

Intent intent = new Intent(MainActivity.this,OtherActivity.class);

startActivity(intent);

}

}

2.Android原生代碼與HTML5的交互

1.原生代碼調(diào)用HTML5頁面方法

例如,app要調(diào)用HTML5頁面的changeColor(color)的方法,來改變HTML5頁面的顏色

1)HTML5

document.write("Hello World!")

function changeColor(color){ document.body.style.background = color; }

2)Android//開啟JavaScript支持

wvMain.getSettings().setJavaScriptEnabled(true);

//放在assets的html需加上android_asset/ ;也可以用網(wǎng)絡(luò)上的文件

wvMain.loadUrl("file:///android_asset/show.html");

// 添加一個對象, 讓JS可以訪問該對象的方法, 該對象中可以調(diào)用JS中的方法

wvMain.addJavascriptInterface(new JSInterface1(),"baobao");

btnOne.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String color = "#cccccc"; wvMain.loadUrl("javascript: changeColor('"+color+"')"); }});

2.HTLM5頁面調(diào)用原生方法

例如,點擊HTML5頁面的文字,回調(diào)原生代碼中的callAndroidMethod方法

1)HTML5CallAndroidMethod

2 )androidclass JSInterface1 {

//JavaScript調(diào)用此方法

@JavascriptInterface

public void callAndroidMethod(int a,float b, String c,boolean d){ if(d){

String strMessage = "a+b+c="+a+b+c;

new AlertDialog.Builder(MainActivity.this).setTitle("title").setMessage(strMessage).show();

}

}

}

1.Android中設(shè)置部分字體的顏色改變,并且能點擊

1, 使用SpannableStringBuilder來實現(xiàn)//1,使用 SpannableStringBuilder , 參數(shù)中的數(shù)字表示修改的片段的起始位置和結(jié)束位置

TextView tv_1 = (TextView) findViewById(R.id.textView_1);

String str_1 = "使用 SpannableStringBuilder 來實現(xiàn)部分字體顏色的改變";

SpannableStringBuilder ssb = new SpannableStringBuilder(str_1);

ssb.setSpan(new ForegroundColorSpan(Color.RED), 0, 10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );

ssb.setSpan(new ForegroundColorSpan(Color.YELLOW), 12, 22,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );

ssb.setSpan(new ForegroundColorSpan(Color.GREEN), 23, str_1.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );

tv_1.setText(ssb);

2, 使用 html 來實現(xiàn)//2,使用html來修改部分字體的顏色

TextView tv_2 = (TextView) findViewById(R.id.textView_2);

String str_2 = "使用 Html 來實現(xiàn)部分字體顏色的改變";

tv_2.setText(Html.fromHtml("使用 Html 來實現(xiàn)部分字體顏色的改變"));或者

html = "

"

+ "

"

+ "

城郊 "

+ "

"

+ "";

_Holder.station_change.setText(Html.fromHtml(html));

3 , 使用SpannableStringBuilder來實現(xiàn),或者 SpannableString來實現(xiàn)部分字體的顏色的改變,并且能點擊,這里用到了ClickableSpan//3,實現(xiàn)部分字體顏色的改變,并能點擊

TextView tv_3 = (TextView) findViewById(R.id.textView_3);

String str_3 = "實現(xiàn)部分字體顏";

String str_4 = "色的改變并且能點擊";

//這里無論是使用 SpannableString 還是 SpannableStringBuilder 都一樣

SpannableString ss = new SpannableString(str_4);

// SpannableStringBuilder s = new SpannableStringBuilder(str_4);

MyClickableSpan clickSpan = new MyClickableSpan(this, str_4);

ss.setSpan(clickSpan, 0, str_4.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

tv_3.setText(str_3);

tv_3.append(ss);

//必須加這一句,否則就無法被點擊

tv_3.setMovementMethod(LinkMovementMethod.getInstance());/**

* 這個類 實際上和第一種改變顏色的方法差不多,只不過 那是個專門改變顏色的Span,這是個專門負責(zé)點擊處理的Span

* @author Administrator

*/

class MyClickableSpan extends ClickableSpan{

private Context context;

private String text;

public MyClickableSpan(Context context,String text)

{

this.context = context;

this.text = text;

}

//在這里設(shè)置字體的大小,等待各種屬性 public void updateDrawState(TextPaint ds) {

ds.setColor(Color.RED);

}

@Override public void onClick(View widget) {

Intent intent = new Intent(MainActivity.this,OtherActivity.class);

startActivity(intent);

}

}

2.Android原生代碼與HTML5的交互

1.原生代碼調(diào)用HTML5頁面方法

例如,app要調(diào)用HTML5頁面的changeColor(color)的方法,來改變HTML5頁面的顏色

1)HTML5

document.write("Hello World!")

function changeColor(color){ document.body.style.background = color; }

2)Android//開啟JavaScript支持

wvMain.getSettings().setJavaScriptEnabled(true);

//放在assets的html需加上android_asset/ ;也可以用網(wǎng)絡(luò)上的文件

wvMain.loadUrl("file:///android_asset/show.html");

// 添加一個對象, 讓JS可以訪問該對象的方法, 該對象中可以調(diào)用JS中的方法

wvMain.addJavascriptInterface(new JSInterface1(),"baobao");

btnOne.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String color = "#cccccc"; wvMain.loadUrl("javascript: changeColor('"+color+"')"); }});

2.HTLM5頁面調(diào)用原生方法

例如,點擊HTML5頁面的文字,回調(diào)原生代碼中的callAndroidMethod方法

1)HTML5CallAndroidMethod

2 )androidclass JSInterface1 {

//JavaScript調(diào)用此方法

@JavascriptInterface

public void callAndroidMethod(int a,float b, String c,boolean d){ if(d){

String strMessage = "a+b+c="+a+b+c;

new AlertDialog.Builder(MainActivity.this).setTitle("title").setMessage(strMessage).show();

}

}

}

總結(jié)

以上是生活随笔為你收集整理的原生与html,解析原生与html之间进行的一些关联的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。