我的相对布局中有这个按钮:
<Button
android:id="@+id/gpsButton"
android:layout_width="50sp"
android:layout_height="50sp"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/tableLayout1"
android:background="@drawable/round_button"
android:gravity="center_vertical|center_horizontal"
android:text="GPS"
android:textColor="#ffffff" />
它与这种阴影有关:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FF0000"/>
<stroke android:width="2sp" android:color="#fff" />
</shape>
我的问题是如何更改活动按钮的颜色?
我已经尝试了但应用程序崩溃了 - .- 以下是我的代码片段:
RelativeLayout relLayout = (RelativeLayout) findViewById(R.id.reli);
GradientDrawable bgShape = (GradientDrawable) relLayout.getBackground();
bgShape.setColor(Color.parseColor("#FFFF00"));
我错了什么?我不明白如何使用视图执行此操作。
提前谢谢你:)
答案 0 :(得分:0)
您可以通过添加彩色滤镜,以编程方式轻松更改Button
的背景颜色。为此,在XML文件中设置白色背景。然后,要使按钮变为红色,您可以执行以下操作:
gpsButton.getBackground().setColorFilter(Color.RED, Mode.MULTIPLY);
red
和white
将成倍增加,结果为red
。当然,您可以用您想要的颜色替换Color.RED
。