3

我有一个TextView,它在图​​像上。当我点击按钮时,TextView背景颜色会改变,但图像不会消失。例如:

TextView的开头:

在此处输入图像描述

当我单击一个按钮时:

在此处输入图像描述

4

4 回答 4

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);
于 2014-02-28T07:42:58.930 回答
1

如果它必须是 TextView 和 ImageView ,您也可以将其包装在 FrameLayout 中(应该只包含一个孩子)。FrameLayout 会将所有包含的子元素放在同一个“位置”上,因此会重叠。

或者当您需要更多元素时,您也可以使用RelativeLayout 并为您的元素提供相同的布局规则(例如全部居中)。

于 2014-02-28T07:47:52.987 回答
0

您应该使用 ImageView 而不是 TextView,即:

public void onClick(View v){
  imageView.setBackgroundColor(Color.GREEN);
}
于 2014-02-28T07:43:48.860 回答
0

ImageButton 对你来说是更好的选择。图像源将是你所说的明星。然后点击你改变背景。如果想在此设置文本

android:drawableTop="@drawable/any_drawable"
android:text="@string/any_text"
于 2014-02-28T08:37:14.437 回答