透明PNG的Android按钮。把它变成蓝色

时间:2014-07-29 12:39:21

标签: android android-layout android-button

我正在使用透明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" />

我怎么能把这个变成蓝色?

1 个答案:

答案 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 );