美文网首页
修改Textview内图片文字间距和图片大小

修改Textview内图片文字间距和图片大小

作者: 皓皓amous | 来源:发表于2019-05-22 22:36 被阅读0次
    image

    对于上面的这种布局,我们一般采用的一个ViewGroup嵌入一个ImageView和一个TextView。如下所示:

    <LinearLayout
            android:id="@+id/layout_question"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="12dp"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            >
            <ImageView
                android:layout_width="18dp"
                android:layout_height="18dp"
                android:src="@drawable/qa"/>
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="常见问题"
                android:layout_marginLeft="12dp"
                android:layout_marginTop="18dp"
                android:layout_marginBottom="18dp"
                />
        </LinearLayout>
    
    

    其实还可以有一种更简单一点的方法,就是只用一个Textview实现。

    实现代码如下:

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="我要帮助"
            android:paddingTop="18dp"
            android:paddingBottom="18dp"
            android:paddingLeft="12dp"
            android:drawablePadding="12dp"
            android:gravity="center|left"
            android:drawableLeft="@drawable/qa"
            />
    
    

    效果如是:

    image

    这种布局确实简单一点,但是有一个问题,就是如果图片本身比较大怎么办?
    有办法的。
    创建一个文件left_img.xml,文件内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item
            android:drawable="@drawable/qa"
            android:width="18dp"
            android:height="18dp"
            />
    
    </layer-list >
    
    

    然后在不居中中引用:

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="我要帮助"
            android:paddingTop="18dp"
            android:paddingBottom="18dp"
            android:paddingLeft="12dp"
            android:drawablePadding="12dp"
            android:gravity="center|left"
            android:drawableLeft="@drawable/left_img"
            />
    
    

    最终效果如下:

    image

    补充:

    android:drawablePadding指的是drawable距离text的距离,如果只有android:drawableLeft,那么最终效果类似于给drawable设置了padding right。
    若是android:drawablePadding和android:drawableLeft、android:drawableRight同时使用,那么最终效果类似于给左边的drawable设置了padding right,给右边的drawable设置了paddingleft。

    相关文章

      网友评论

          本文标题:修改Textview内图片文字间距和图片大小

          本文链接:https://www.haomeiwen.com/subject/ewnpzqtx.html