我正在使用透明PNG在Android应用中创建按钮。 图像是白色的(它们不透明),我想将它们变成蓝色。
它们位于res / drawable中,我在XML中使用它们:
<Button
android:gravity="center_horizontal"
android:background="@drawable/icon_facebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
我怎么能把这个变成蓝色?
答案 0 :(得分:3)
您可以使用ColorFilter以编程方式轻松完成。
<Button
android:id="@+id/button"
android:gravity="center_horizontal"
android:background="@drawable/icon_facebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
首先在我的视图中为您的视图添加ID,并在致电setContentView(..)到您的活动后添加ColorFilter,如下所示:
Button button = root.findViewById( R.id.button);
Drawable drawable = button.getBackground();
drawable.setColorFilter( Color.BLUE, Mode.MULTIPLY );