2014-02-28 69 views

回答

1

如果你想這樣做,只使用一個TextView那麼它可能是不可能的。所以,我會建議你使用FrameLayout來做到這一點。你可以編寫你的佈局如下。

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="#FFFFFF" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="" /> 

</FrameLayout> 

當你想改變TextView後的顏色,然後更改爲以下ImageView背景...

ImageView mageView view = (ImageView) findViewById(R.id.image); 
view.setBackgroundColor(Color.BLUE); 
+0

但是我想動態地改變圖像(星號)和背景顏色。我怎樣才能做到這一點? –

+0

看到我更新的答案。 –

+0

謝謝。這對我有用。 –

0

您應該使用,而不是TextView的ImageView的,則:

public void onClick(View v){ 
    imageView.setBackgroundColor(Color.GREEN); 
} 
+0

我必須使用TextView :) –

+0

沒問題,它的代碼相同,只是將imageView更改爲我的exmaple中的TextView – kodamirmo

+0

但這不是我想要的。當我使用這個圖像(星星)將消失。 –

1

如果它必須是一個TextView和一個ImageView,你也可以將它包裝在一個FrameLayout中(它應該只包含一個孩子)。 FrameLayout將所有包含子元素的元素放在同一個「地點」,所以get重疊。

或者當您需要更多元素時,您也可以使用RelativeLayout併爲您的元素提供相同的佈局規則(例如全部居中)。

0

ImageButton對你來說是更好的選擇。圖像源將會像你說的那樣明星,然後點擊你改變背景。如果想在此設置文字

android:drawableTop="@drawable/any_drawable" 
android:text="@string/any_text" 
相關問題