2013-04-20 118 views
0

如何使用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的圖像,我想在其中顯示文本。

enter image description here

+0

乘坐TexView或按鈕設置它的背景如上形象和的setText爲他們.. – Pragnani 2013-04-20 14:56:15

+0

@pragnani我不能改變元素類型,因爲它已經由一個開發人員編碼,她沒有降低以改變類型。 – 2013-04-20 14:58:09

+1

試着說服她,這可能不是最好的「不允許」這樣的變化。 – 2013-04-20 15:42:45

回答

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

這是一個有趣的解決方案,雖然不完整:硬編碼的字體大小(以像素爲單位)和錯誤的定位。 – 2013-04-20 15:37:57

+0

@MaciejGórski如果您發現下面的評論問題,我已經建議他使用TextView或Button,在您評論某人的答案之前,您是正確的。而且,根據圖像大小動態改變字體大小也不是一件大事,他會照顧到這一點......這很有趣。 – Pragnani 2013-04-20 15:40:09

+0

@pragnani雅這就是我想要但還有一件事情不能做到離子xml只。我今天的所有選票都用盡了,我不能讓你投票,但明天我會做。 – 2013-04-22 10:45:09

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

這個答案是正確的(如果這是id/share_button則使用Button)。無論出於什麼奇怪的原因,如果您無法更改share_button類型,您可能總是將TextView添加到佈局,並將其對齊到share_button頂部。使用RelativeLayout時很容易:layout_alignTop,_alignLeft等全部設置爲share_button。 – 2013-04-20 15:20:44

+1

@MaciejGórski但他的要求是使用ImageView檢查下面的評論問題。並且這不提供答案 – Pragnani 2013-04-20 15:27:40

+0

@Pragnani雅你是絕對正確的。 MaciejGórski這不是我想要的。 – 2013-04-22 10:30:32