没有setSolid方法
时间: 2023-12-01 09:02:12 浏览: 21
如果你使用的是较早的 Android 版本,可能会出现 `GradientDrawable` 没有 `setSolid()` 方法的情况。此时,你可以使用 `setColor()` 方法来设置 `GradientDrawable` 对象的颜色,具体方法如下:
```java
// 获取 shape 对应的 GradientDrawable 对象
GradientDrawable shape = (GradientDrawable) context.getDrawable(R.drawable.shape);
// 设置 solid 颜色
shape.setColor(Color.BLUE);
// 将修改后的 shape 应用到指定的 View 上
view.setBackground(shape);
```
同样地,`R.drawable.shape` 表示 shape 的资源 ID,你可以根据实际情况进行修改。上述代码中将 solid 颜色设置为蓝色,你也可以根据需要设置其他颜色。最后,通过 `setBackground()` 方法将修改后的 shape 应用到指定的 View 上即可。
相关问题
android 代码修改shape solid颜色
在 Android 中,除了在 xml 文件中修改 shape 的 solid 颜色,也可以在代码中进行修改。具体方法是通过获取 shape 对应的 GradientDrawable 对象,然后调用其 setSolid() 方法来设置颜色。以下是示例代码:
```java
// 获取 shape 对应的 GradientDrawable 对象
GradientDrawable shape = (GradientDrawable) context.getDrawable(R.drawable.shape);
// 设置 solid 颜色
shape.setSolid(Color.BLUE);
// 将修改后的 shape 应用到指定的 View 上
view.setBackground(shape);
```
其中,R.drawable.shape 表示 shape 的资源 ID,可以根据实际情况进行修改。上述代码中将 solid 颜色设置为蓝色,你也可以根据需要设置其他颜色。最后,通过 setBackground() 方法将修改后的 shape 应用到指定的 View 上即可。
supertextview
`SuperTextView` 是一个第三方库,用于扩展 `TextView` 的功能,支持圆角、描边、渐变色、阴影、点击效果等。使用 `SuperTextView` 可以方便地实现一些常见的 UI 效果,同时也可以根据自己的需要进行定制。
使用 `SuperTextView` 需要在项目的 build.gradle 文件中添加依赖:
```
dependencies {
implementation 'com.github.LiShiHui24740:SuperTextView:1.0'
}
```
然后在布局文件中使用 `com.crazysunj.supertextview.SuperTextView` 代替原来的 `TextView` 即可。在 Java 代码中,可以使用 `SuperTextView` 提供的方法设置各种效果,例如:
```java
SuperTextView superTextView = findViewById(R.id.superTextView);
superTextView.setShapeType(SuperTextView.RECTANGLE) // 设置形状为矩形
.setShapeCornersRadius(20) // 设置圆角半径为20
.setUseShape() // 使用形状
.setStrokeWidth(2) // 设置描边宽度为2
.setStrokeColor(ContextCompat.getColor(this, R.color.colorAccent)) // 设置描边颜色
.setSolid(Color.WHITE) // 设置背景色
.setAutoAdjust(true) // 自动调整文本大小以适应控件宽度
.setText("Hello World!"); // 设置文本内容
```