Android文字间插入图片显示

        之前做项目遇到过一段文字间插入一个图片显示的界面需求。在这里记录一下显示方法。要显示的内容如下:

如同意以上协议,请按“[图片]”键

        TextView文本与图片混合显示,Android有一个很方便的控件,就是SpannableString。SpannableString可以在字符序列基础上对指定的字符进行润饰。

SpannableString spannableString = new SpannableString("pics");
ImageSpan imageSpan = new ImageSpan(Context context, Bitmap map, int verticalAlignment);
spannableString.setSpan(imageSpan, 0, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView.append(String before);//这是图片之前那一段文字
TextView.append(spannebleString);//这是图片显示
TextView.append(String after);//这是图片之后那段文字

        其实不只是文件间显示图片,像一段文字中间部分字字体需要加粗,也可以通过SpannableString实现。有兴趣的可以自行探索。

要在Android Studio插入图片和对应的文字并随机显示,您可以按照以下步骤操作: 1. 首先,将所需的图片文件保存到您的项目资源文件夹(例如,将图像文件保存到“res/drawable”文件夹)。 2. 在您的布局XML文件,使用LinearLayout元素将ImageView和TextView元素组合在一起。例如,以下代码将在布局插入名为“my_image”的图像和与之对应的文本: ``` <LinearLayout android:id="@+id/my_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/my_image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/my_image" /> <TextView android:id="@+id/my_text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="My Image Text" /> </LinearLayout> ``` 3. 在您的Java代码,您可以使用以下代码获取LinearLayout对象并随机设置图像和文本: ``` LinearLayout linearLayout = findViewById(R.id.my_layout); int[] imageArray = {R.drawable.image1, R.drawable.image2, R.drawable.image3}; String[] textArray = {"Image 1 Text", "Image 2 Text", "Image 3 Text"}; Random random = new Random(); int randomIndex = random.nextInt(imageArray.length); ImageView imageView = linearLayout.findViewById(R.id.my_image_view); imageView.setImageResource(imageArray[randomIndex]); TextView textView = linearLayout.findViewById(R.id.my_text_view); textView.setText(textArray[randomIndex]); ``` 其,imageArray是一个包含所有要随机显示的图像资源ID的整数数组,textArray是一个包含所有要随机显示文本的字符串数组。Random类用于选择要显示的图像和文本,nextInt()方法用于生成随机索引。最后,setImageResource()方法用于设置ImageView的图像资源,setText()方法用于设置TextView的文本。 注意:在使用随机化图像和文本时,确保每个图像和文本的资源ID都包含在相应的数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值