Android中的基础----在按钮上显示图像的方式

本文介绍了在Android中如何为Button、ImageButton和RadioButton等组件添加图像。包括直接使用XML属性设置图像位置的方法,以及通过ImageSpan和SpannableString实现更复杂布局的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Button:

方法一:使用android:drawable^^^(^^^表示Left、Top、Right或Bottom)属性将图像显示在文字的周围(上下左右)。

示例:

<Button
	    android:id="@+id/button1"
	    android:text="左侧为按钮中的图像"	
	    android:drawableLeft="@drawable/button" //method1
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"    	    
	    />

效果:



方法二:使用ImageSpan封装Bitmap对象,并使用SpannableString.setSpan方法设置ImageSpan对象,最后调用Button.setText或者Button.append方法设置SpannableString对象来显示图像(Button是TextView的子类,因此可以图文混搭)。

示例:

                Button bt=(Button)findViewById(R.id.button1);//method2
		Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.button);
		ImageSpan imagespan=new ImageSpan(this,bitmap);
		String text="按钮的文字";
		SpannableString spannableString=new SpannableString(text);	
		//imagespan 会把按钮的文字覆盖,所以不显示文字了
		spannableString.setSpan(imagespan,0,text.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);		
		bt.append(spannableString);

效果:


ImageButton:

方法:使用android:src属性来指定图像文件的资源Id

示例:

<ImageButton
	    android:id="@+id/button1"
	    android:src="@drawable/button"	   
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"    	    
	    />

效果:


RadioButton:

与Button一样,也可以使用android:drawable^^^属性或者ImageSpan和SpannableString对象显示图像。

示例:

       (参照Button的示例格式即可,不再啰嗦)


效果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值