android Linearlayout中ImageView的中心对齐文本

时间:2013-04-20 14:54:04

标签: android android-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的图像,我想在其中显示文本。

enter image description here

2 个答案:

答案 0 :(得分:1)

它必须是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" />

答案 1 :(得分:1)

试试这个

使用此方法

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