我有这个图标:
我将按照 drawable
的方式使用它。
Drawable myIcon = getResources().getDrawable( R.drawable.icon );
我需要以编程方式在文件扩展名上放置一些文本。
这是我的期望结果:。
我无法创建多个静态图标,因为我可以接收任意文件扩展名。
我有这个图标:
我将按照 drawable
的方式使用它。
Drawable myIcon = getResources().getDrawable( R.drawable.icon );
我需要以编程方式在文件扩展名上放置一些文本。
这是我的期望结果:。
我无法创建多个静态图标,因为我可以接收任意文件扩展名。
public BitmapDrawable writeOnDrawable(int drawableId, String text){
Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId).copy(Bitmap.Config.ARGB_8888, true);
Paint paint = new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.BLACK);
paint.setTextSize(20);
Canvas canvas = new Canvas(bm);
canvas.drawText(text, 0, bm.getHeight()/2, paint);
return new BitmapDrawable(bm);
}
使用此方法将有所帮助。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/folder"
android:src="@drawable/image_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:textColor="@color/green"
android:textStyle="bold"
android:id="@+id/text"
android:text="10"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
text
打印在img
的中心位置。RelativeLayout
来实现。<RelativeLayout> // Only works inside a RelativeLayout
<ImageView
android:id="@+id/myImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/myImageSouce" />
<TextView
android:id="@+id/myImageText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/myImage"
android:layout_alignTop="@+id/myImage"
android:layout_alignRight="@+id/myImage"
android:layout_alignBottom="@+id/myImage"
android:layout_margin="1dp"
android:gravity="center"
android:text="Hello"
android:textColor="#000000" />
</RelativeLayout>
这可能是最简单的解决方案,它将根据图像大小将文本居中对齐。