TextView的drawable

425 阅读1分钟

通过在xml中设置:

<TextView
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="text"
    android:drawableLeft="@drawable/ic_water_drop"
    android:drawablePadding="4dp" />

可以在文字的左边添加一个图标:

image.png

drawableLeft默认是靠左居中对齐,其大小默认是通过Drawable.getIntrinsicWidth()、Drawable.getIntrinsicHeight()获取的。

也可以在代码中设置图标:

val drawable = getDrawable(R.drawable.ic_water_drop)
//可以实现对图片缩放
drawable.setBounds(0,0,drawable.intrinsicWidth/2,drawable.intrinsicHeight/2)
textView.setCompoundDrawables(drawable,null,null,null)
  • getIntrinsicWidth:返回图片固有大小,像素单位。具体值其取决于图片、所在文件夹、设备屏幕密度。在不同密度的手机上,同一张图片的getIntrinsicWidth不同,系统会对其进行缩放,以使最终显示的物理大小一致。(stackoverflow.com/questions/6… )

屏幕尺寸

适配完结篇一 - 超快速的Android屏幕适配方式

图片大小参数

图像分辨率、图像大小

像素:是指宽高像素点的乘积或者乘积式来表示:如3000×4000px,或者是1200万像素。

尺寸:是指图像打印后的物理尺寸,一般用厘米/米或者(英)寸表示。

分辨率:是指单位长度中像素点的总数,它代表像素的密度,一般以:像素/英寸、或者像素/厘米表示。分辨率=像素/尺寸。