Android TextView 透明底图片 颜色反了
在Android开发中,我们经常会遇到需要在TextView中显示透明底图片,并且需要文字颜色反映的情况。这样的需求可能会在设计师给出的设计稿中出现,为了实现这一效果,我们可以通过自定义Drawable来实现。下面我们来介绍一种实现方法。
实现步骤
-
首先,我们需要准备一个透明底图片和一个文字颜色。在res目录下创建一个drawable文件夹,将透明底图片保存在这里。然后在res目录下创建一个color文件夹,定义文字颜色。
-
接着,我们需要创建一个自定义的Drawable类,继承自Drawable。
public class CustomDrawable extends Drawable {
private Paint paint;
public CustomDrawable(int color) {
paint = new Paint();
paint.setColor(color);
paint.setStyle(Paint.Style.FILL);
}
@Override
public void draw(Canvas canvas) {
canvas.drawColor(Color.TRANSPARENT);
canvas.drawRect(getBounds(), paint);
}
@Override
public void setAlpha(int alpha) {
paint.setAlpha(alpha);
invalidateSelf();
}
@Override
public void setColorFilter(@Nullable ColorFilter colorFilter) {
paint.setColorFilter(colorFilter);
invalidateSelf();
}
@Override
public int getOpacity() {
return PixelFormat.TRANSLUCENT;
}
}
- 最后,我们可以在TextView中使用这个自定义Drawable。
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, World!"
android:background="@drawable/custom_drawable"
android:textColor="@color/text_color"
android:padding="16dp"/>
总结
通过自定义Drawable,我们可以实现在TextView中显示透明底图片,并且文字颜色颠倒的效果。这种方法可以很好地满足设计要求,提升用户体验。希望本文对你在Android开发中遇到类似需求时有所帮助。
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
通过以上步骤,我们可以轻松实现Android TextView透明底图片,颜色反了的效果。希望本文对你有所帮助!