Android編程開發(fā)實現(xiàn)TextView顯示表情圖像和文字的方法
本文實例講述了Android編程開發(fā)實現(xiàn)TextView顯示表情圖像和文字的方法。分享給大家供大家參考,具體如下:
從這個案例中我們可以學到當我們美化圖片美化界面的時候可以在某一區(qū)域輸入圖片和文字混搭信息,第三張圖片按比例縮小,第四張圖像有超鏈接
布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:background="#FFF" /> </RelativeLayout>
MainActivity.java
package com.example.textview3; import java.lang.reflect.Field; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.text.Html; import android.text.Html.ImageGetter; import android.text.method.LinkMovementMethod; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { public int getResourceId(String name) { try { // 根據(jù)資源的ID的變量名獲得Field的對象,使用反射機制來實現(xiàn)的 Field field = R.drawable.class.getField(name); // 取得并返回資源的id的字段(靜態(tài)變量)的值,使用反射機制 return Integer.parseInt(field.get(null).toString()); } catch (Exception e) { // TODO: handle exception } return 0; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = (TextView) this.findViewById(R.id.textview); textView.setTextColor(Color.BLACK); textView.setBackgroundColor(Color.WHITE); textView.setTextSize(20);// 設置字體的大小 String html = "圖像1<img src='image1'/>圖像2<img src='image2'/>圖像3<img src='image3'/><p>"; html += "圖像4<a ><img src='image4'></a>圖像5<img src='image5'/>"; CharSequence charSequence = Html.fromHtml(html, new ImageGetter() { @Override public Drawable getDrawable(String source) { // TODO Auto-generated method stub // 獲得系統(tǒng)資源的信息,比如圖片信息 Drawable drawable = getResources().getDrawable( getResourceId(source)); // 第三個圖片文件按照50%的比例進行壓縮 if (source.equals("image3")) { drawable.setBounds(0, 0, drawable.getIntrinsicWidth() / 2, drawable.getIntrinsicHeight() / 2); } else { drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); } return drawable; } }, null); textView.setText(charSequence); textView.setMovementMethod(LinkMovementMethod.getInstance()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
希望本文所述對大家Android程序設計有所幫助。
相關文章
Android編程基于重力傳感器實現(xiàn)橫豎屏放向切換功能
這篇文章主要介紹了Android編程基于重力傳感器實現(xiàn)橫豎屏放向切換功能,結合具體實例形式分析了Android基于重力傳感器實現(xiàn)橫豎屏切換的相關操作技巧,需要的朋友可以參考下2018-01-01Android AndBase框架實現(xiàn)多功能標題欄(一)
這篇文章主要整理了Android AndBase框架學習筆記,本文主要使用AndBase實現(xiàn)多功能標題欄,感興趣的小伙伴們可以參考一下2016-03-03Android中RecyclerView 滑動時圖片加載的優(yōu)化
本篇文章主要介紹了Android中RecyclerView 滑動時圖片加載的優(yōu)化,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04Android ListView與getView調用卡頓問題解決辦法
這篇文章主要介紹了Android ListView與getView調用卡頓問題解決辦法的相關資料,這里提供實例及解決辦法幫助大家解決這種問題,需要的朋友可以參考下2017-08-08Android端內數(shù)據(jù)狀態(tài)同步方案VM-Mapping詳解
這篇文章主要介紹了Android端內數(shù)據(jù)狀態(tài)同步方案VM-Mapping詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-09-09Android實現(xiàn)輪播圖無限循環(huán)效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)輪播圖無限循環(huán)效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02圖文詳解Android Studio搭建Android集成開發(fā)環(huán)境的過程
這篇文章主要以圖文的方式詳細介紹了Android Studio搭建Android集成開發(fā)環(huán)境的過程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-12-12