android线性布局中ImageView上居中对齐的文本

android线性布局中ImageView上居中对齐的文本,android,android-layout,android-imageview,Android,Android Layout,Android Imageview,如何使用线性布局在android ImageView上显示文本。为此,我找到了许多关于堆栈溢出的示例,但都是关于相对布局、框架布局的,但我没有在线性布局中得到它 我试过android:text=“My text”,但它不起作用 如果可能的话,请告诉我。如果是这样的话,怎么做呢 <ImageView android:id="@+id/share_button" android:layout_width="fill_parent" android:layout_hei

如何使用线性布局在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的图像,我希望在其中心显示文本


它必须是图像视图吗

<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" />

试试这个

使用这种方法

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"));

获取一个TexView或按钮,将其背景设置为上图,并为其设置文本。@pragnani我无法更改元素类型,因为它已由某个开发人员编码,她不允许更改类型。尝试说服她“不允许”可能不是最好的选择像这样的变化。@MaciejGórski我和她谈过,她生气了,就不做了,但我告诉她,如果你能改变一点,我会做任何你想做的事。谢谢MaciejGórski。这个答案是正确的(如果这是id/share_按钮,请使用按钮)。无论出于何种奇怪的原因,如果您无法更改共享按钮的类型,您可以始终将TextView添加到布局中,并将其与共享按钮顶部对齐。使用RelativeLayout时很容易:layout_alignTop、_alignLeft等。都设置为“共享”按钮。@MaciejGórski但他的要求是使用ImageView检查以下问题的注释..但这不提供answer@Pragnani是的,你完全正确。MaciejGórski这不是我想要的。@Pragnani取消删除它让我看看。这是一个有趣的解决方案,虽然不完整:以像素为单位的硬编码字体大小和错误的位置。@MaciejGórski如果你发现问题下面的评论,我已经建议他使用TextView或Button,然后再评论某人的答案是否正确。而且,根据图像大小动态更改字体大小也不是什么大任务,他会处理好的……这有什么意思?@pragnaniya这正是我想要的,但还有一件事不能仅用xml来完成。我今天所有的选票都用完了,我不能给你补票,但我明天会补票。@Nikhil不可能Xml@Pragnani. 好的,谢谢。我知道以前也帮过我一些地方。那你能告诉我你的邮箱号码吗。