Использование векторного рисования
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:type="linear"
android:startColor="#00ffffff"
android:centerColor="#44ffffff"
android:endColor="#00ffffff"/>
</shape>
</item>
</layer-list>
И
val bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888)
val bitmapCanvas = Canvas(bitmap)
drawable.setBounds(0, 0, 100, 100)
drawable.draw(bitmapCanvas)
val p1 = Paint()
canvas.drawBitmap(bitmap, 0, 0, p)
И в моей деятельности
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
Window window = getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_DITHER, WindowManager.LayoutParams.FLAG_DITHER);
window.setFormat(PixelFormat.RGBA_8888);
window.setFormat(PixelFormat.TRANSLUCENT);
}
Градиент по-прежнему выглядит очень полосатым, почти какДиапазон цветов очень низкий, как будто пропускает шаги цветов в градиенте.Я также попытался нарисовать нарисованный объект непосредственно на холсте (без использования растрового изображения в качестве носителя), и он все еще не работал.Я хотел бы упомянуть одну важную деталь: мой холст находится не внутри моей деятельности, а в пользовательском представлении, которое находится во фрагментном представлении внутри этого действия.Я упоминаю об этом из-за методов, вызываемых внутри переопределенных.