我有TextView
并且它在图像上。单击按钮时,TextView
的背景颜色会发生变化,但图像不会消失。例如;
我的TextView
开头:
当我点击按钮时:
答案 0 :(得分: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);
答案 1 :(得分:1)
如果它必须是TextView和ImageView,您还可以将其包装在FrameLayout(它应该只包含一个子节点)中。 FrameLayout会将所有包含子元素的元素放在同一个“地方”,因此get重叠。
或者当您需要更多元素时,您还可以使用RelativeLayout并为元素提供相同的布局规则(例如,所有居中)。
答案 2 :(得分:0)
您应该使用ImageView而不是TextView,即:
public void onClick(View v){
imageView.setBackgroundColor(Color.GREEN);
}
答案 3 :(得分:0)
ImageButton对你来说是更好的选择。如你所说,图像源将是明星。然后点击你改变背景。如果想在此
中设置文字android:drawableTop="@drawable/any_drawable"
android:text="@string/any_text"