我有一个带有drawable set的视图:
my_drawable
View
会更改view.setBackgroundColor(myColor);
单击/按下时的外观,但不会设置其背景颜色。我想在代码中设置其背景颜色:
my_drawable
但这会从中移除my_drawable
。如何在不删除my_drawable
的情况下更改背景颜色?
修改
这是<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@xml/button_round_corner_pressed_shape" android:state_pressed="true"></item>
<item android:drawable="@xml/button_round_corner_default_shape"></item>
</selector>
:
button_round_corner_pressed_shape
这是<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="@dimen/button_pressed_stroke_width"
android:color="@color/colorAccent" />
<corners android:radius="@dimen/button_corner_radius" />
</shape>
:
{{1}}
答案 0 :(得分:1)
使用带有drawable的ImageView作为android:src并根据需要更改背景。
答案 1 :(得分:1)
一种解决方案是将视图与ImageView重叠,以便您可以在视图中设置背景颜色并在ImageView中设置drawable。
答案 2 :(得分:1)
您可以使用ImageView并将您的drawable设置为以下代码:
<ImageView
android:id="@+id/view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/green_circle" />
然后,您可以在运行时更改drawable的颜色,而无需更改drawable:
ImageView view=(ImageView)findViewById(R.id.view);
view.setColorFilter(Color.RED);
答案 3 :(得分:0)
使用CheckedText视图和选择器进行选中,取消选中。 Onclick只是切换选中状态。
routes.MapRoute(
name: "Default",
url: "{area}/{controller}/{action}/{id}",
defaults: new {area = "User" ,controller = "UserView", action = "Index", id = UrlParameter.Optional }
);
答案 4 :(得分:0)
但这会从中移除
select * from (SELECT id,user_type,retailerId,subdealerId,dealerId,assigned_role, IF( user_type = '5', (select name from retailer where retailer.id=users_dealers.retailerId), (select name from sub_dealers where sub_dealers.id=users_dealers.subdealerId ) ) AS from_name, IF( assigned_role = '6', (select name from dealers where dealers.id=users_dealers.dealerId), (select name from sub_dealers where sub_dealers.id=users_dealers.dealerId ) ) AS assigned_name FROM users_dealers) t1 WHERE t1.from_name LIKE '%a%' OR t1.assigned_name LIKE '%a%'
。如何在不删除my_drawable
的情况下更改背景颜色?
您想通过不删除my_drawable来更改背景颜色吗?这似乎让我的朋友感到困惑。如果您不想删除可绘制的,为什么要更改背景颜色?
您真的想要更改哪种背景颜色?
您也可以将drawable更改为新的..
属性my_drawable
实际上接受了几种类型。你可以尝试绘画和颜色。
您还可以使用android:background
颜色进行编程,并使用view.setBackgroundColor(color)
进行背景绘制。
参考
答案 5 :(得分:0)
这最终对我有用:
<ImageView
android:id="@+id/view_background"
android:layout_width="@dimen/width"
android:layout_height="@dimen/height"
android:src="@xml/button_round_corner_default_shape" />
<View
android:layout_width="@dimen/width"
android:layout_height="@dimen/height"
android:background="@xml/my_drawable" />
在代码中:
viewBackground = findViewById<ImageView>(Resource.Id.view_background);
viewBackground.setColorFilter(color);
我结合了每个人的答案来做到这一点。