java - Android,如何实现 ImageButton 的圆角,然后以编程方式更改颜色?

标签 java android android-styles android-imagebutton

我的应用程序布局上有​​ ImageButton,并且我希望此 ImageButton 具有圆角,因此我使用如下样式:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke android:width="1dp"
        android:color="@android:color/black" />
    <corners android:radius="15dp" />
    <solid android:color="@android:color/black"/>
</shape>

然后我使用 android:background="@drawable/my_rounded_shape.xml"/>

问题是,在此之后我想将背景颜色从黑色更改为某种自定义颜色,但我无法以编程方式修改样式,并且无法生成带有角但颜色不同的新样式并应用于我的 图像按钮

您能否澄清一下是否有任何方法可以做到这一点或有任何解决方法?

最佳答案

尝试一下: 创建另一个 XML 形状,其名称例如“SS” 以及您的新属性

<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="2dp"
    android:color="@android:color/red" />
<corners android:radius="10dp" />
<solid android:color="@android:color/blue"/>

之后

Button b = (Button) (findViewById(R.id.button1));
    b.setBackgroundDrawable(getResources().getDrawable(R.drawable.ss));

关于java - Android,如何实现 ImageButton 的圆角,然后以编程方式更改颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26204201/

相关文章:

使用 NDK 构建 Superpowered 时出现 Android Studio ExternalSystemException 错误

android - 删除自定义对话框上的黑色背景

安卓 : status bar color change for API level below 21

android - 未使用工具栏的自定义文本颜色

java - HashMap 保存旧值

Java android Open Street map 不显示 map

java - 检查 MySQL 结果是否返回行

java - Junit:测试默认构造函数,死代码警告?

android - TextInputEditText 的数据绑定(bind)和选择

android - 日历 View 的使用方法