如何在TextView中添加不同方向的图片

在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);

    }
}

效果图如下:



猜你喜欢

转载自blog.csdn.net/weixin_42190712/article/details/80296110
今日推荐