类似于TextView中显示图片的原理,利用反射机制寻找图片。
添加四张图片到drawable目录下,分别取名为:img1、img2,、img3、img4。
<EditText
android:id="@+id/show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"/>
<Button
android:id="@+id/input"
android:layout_below="@id/show"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="showPicture"/>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ScrollingTextView
show = (EditText) findViewById(R.id.show);
}
/**
* 相应button的点击事件
*
* @param view
*/
public void showPicture(View view) {
int randomID = 1 + new Random().nextInt(4);// nextInt(4)范围是0-3
try {
Field field = R.drawable.class.getDeclaredField("img" + randomID);
int resoureId = Integer.parseInt(field.get(null).toString());
// 在Android中显示图片信息,必须使用Bitmap
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
resoureId);
ImageSpan imageSpan = new ImageSpan(MainActivity.this, bitmap);
SpannableString ss = new SpannableString("img");
ss.setSpan(imageSpan, 0, 3,
SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
// show.setText(ss);
show.append(ss);
} catch (Exception e) {
}
}