android中的ImageView上的中心对齐文本线性布局
如何使用Linear Layout在android ImageView上显示文本。为此目的,我发现了很多堆栈溢出的例子,但都是针对相对布局,帧布局但我没有在线性布局中找到它。android中的ImageView上的中心对齐文本线性布局
我已经尝试过android:text="My Text"
但它没有工作。
请建议我,如果它可能这样做。如果是这样怎么办。
<ImageView
android:id="@+id/share_button"
android:layout_width="fill_parent"
android:layout_height="25dp"
android:layout_gravity="center"
android:layout_margin="5dp"
android:layout_weight="2"
android:text="text"
android:background="@drawable/iosbutton" />
这是连接到此ImageView的图像,我想在其中显示文本。
试试这个
使用此方法
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);
}
呼叫这样
ImageView image=(ImageView)findViewById(R.id.imageView1);
image.setImageDrawable(writeOnDrawable(R.drawable.ic_launcher,"Hello"));
这是一个有趣的解决方案,虽然不完整:硬编码的字体大小(以像素为单位)和错误的定位。 – 2013-04-20 15:37:57
@MaciejGórski如果您发现下面的评论问题,我已经建议他使用TextView或Button,在您评论某人的答案之前,您是正确的。而且,根据图像大小动态改变字体大小也不是一件大事,他会照顾到这一点......这很有趣。 – Pragnani 2013-04-20 15:40:09
@pragnani雅这就是我想要但还有一件事情不能做到离子xml只。我今天的所有选票都用尽了,我不能让你投票,但明天我会做。 – 2013-04-22 10:45:09
是否必须是一个ImageView的?
<TextView
android:id="@+id/share_button"
android:layout_width="fill_parent"
android:layout_height="25dp"
android:layout_gravity="center"
android:layout_margin="5dp"
android:layout_weight="2"
android:text="text"
android:gravity="center"
android:background="@drawable/iosbutton" />
这个答案是正确的(如果这是id/share_button则使用Button)。无论出于什么奇怪的原因,如果您无法更改share_button类型,您可能总是将TextView添加到布局,并将其对齐到share_button顶部。使用RelativeLayout时很容易:layout_alignTop,_alignLeft等全部设置为share_button。 – 2013-04-20 15:20:44
@MaciejGórski但他的要求是使用ImageView检查下面的评论问题。并且这不提供答案 – Pragnani 2013-04-20 15:27:40
@Pragnani雅你是绝对正确的。 MaciejGórski这不是我想要的。 – 2013-04-22 10:30:32
乘坐TexView或按钮设置它的背景如上形象和的setText为他们.. – Pragnani 2013-04-20 14:56:15
@pragnani我不能改变元素类型,因为它已经由一个开发人员编码,她没有降低以改变类型。 – 2013-04-20 14:58:09
试着说服她,这可能不是最好的“不允许”这样的变化。 – 2013-04-20 15:42:45