我想用一些文字创建一个图像。例如,在我在这里展示的这张照片中,我想制作它以便我有一个图像或某种显示加号的文本视图,然后我将以编程方式在我的代码中设置该图像中的数字。这是一个例子:
正如你在这里看到的那样。我想要确切的行为:将+16
设置为图像或某种我可以编程设置的文本视图。我这里有一些XML,所以我可以根据我传入的URI创建一个图像:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/commenter_photo_four"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_marginRight="60dp"
android:layout_marginEnd="60dp"
android:layout_toLeftOf="@id/num_comments"
android:layout_toStartOf="@id/num_comments"
fresco:placeholderImage="@mipmap/blank_prof_pic"
fresco:placeholderImageScaleType="centerCrop"
fresco:roundBottomLeft="false"
fresco:roundBottomRight="false"
fresco:roundedCornerRadius="5dp"
fresco:roundingBorderColor="@color/material_color_grey_100"
android:layout_marginBottom="8dp"
/>
为我正确显示照片。但是,在使用android:text
库时,我似乎无法插入类似setText
的内容或执行某种Fresco
方法(我使用的库用于渲染基于URI)。然后我尝试使用ImageView
,如此:
<ImageView
android:id="@+id/commenter_photo_four"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_marginRight="60dp"
android:layout_marginEnd="60dp"
android:layout_toLeftOf="@id/num_comments"
android:layout_toStartOf="@id/num_comments"
/>
然后我意识到这也没有android:text
能力我可以用来将图像设置为+后跟我想要设置的任何数字。有什么方法可以实现这个+16
吗?我也在想我可以尝试一个带圆形背景的TextView
吗?
答案 0 :(得分:0)
您可以通过代码
为imageView绘制文字Bitmap b=Bitmap.createBitmap(width, width, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
c.drawText("+16",10,10,p);
ImageView i = (ImageView) findViewById(R.id.commenter_photo_four);
i.setImageBitmap(b);
答案 1 :(得分:0)
您可以在相对布局中设置imageview和textview,并设置textview的可见性消失。然后,当您想要将文本放入其中时,将textview的可见性设置为可见。