在TextView 中如何添加图片
第一种 在xml 文件中利用TextView的属性开添加不同方位的图片:
<?xml version="1.0" encoding="utf-8"?> <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:background="#ccc" tools:context="com.lsc.yumo.textdemo.MainActivity"> <!--drawableTop属性:图片在文字的上方--> <!--drawableRight:图片在文字的右边--> <!--drawableLeft:图片在文字的左边--> <!--drawableBottom:图片在文字的下方--> <!--drawablePadding:图片与文字的间距--> <TextView android:id="@+id/main_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:drawablePadding="10dp" android:drawableTop="@mipmap/ic_launcher" android:gravity="center" android:text="测试" android:textSize="18sp" /> </RelativeLayout>
效果图如下:
第二种方法 在java代码中实现:
public class MainActivity extends AppCompatActivity { TextView mainTv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mainTv = findViewById(R.id.main_tv); // 获取图片资源的Drawable对象 Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher); // 设置图片对象的位置和大小 这样就可以更改图片的大小 drawable.setBounds(0,0,50,50); // 限定图片资源在textView 中的位置 drawable在什么位置 图片就显示在什么位置 // 在不需要显示的位置设置为null 如果在多个位置显示则同时存在 mainTv.setCompoundDrawables(drawable,null,null,null); // 设置图片与文字之间的间距 mainTv.setCompoundDrawablePadding(20); } }
效果图如下: