Okey Ich habe ein Problem mit der Einstellung eines Bildes für den Hintergrund. Zuerst setze ich einfach den Hintergrund aus dem Feld "Eigenschaften". Ich kopiere die .jpg Datei in meinen zeichnenden Ordner und klicke einfach auf den Hintergrund Properity von Properties Box dann wähle die Datei aus dem Ressourcen-Ordner. Das war okey und es funktionierte, aber dann wollte ich den Hintergrund unscharf machen und ich fand eine Klasse, die dafür geschrieben wurde, BlurBuilder genannt und ich legte diese Klasse zu meinem Projekt. Alles ist zu diesem Punkt okey, fügte ich die Klasse, aber wenn ich versuchte, die funciton von dieser Klasse anzuwenden, wie in einem Beispiel, wie gezeigt, dass:Einstellung Hintergrund mit setBackgroungDrawable Funktion in Android
Bitmap blurredBitmap = BlurBuilder.blur(MainActivity.this,myBackgroundFile);
view.setBackgroundDrawable(new BitmapDrawable(getResources(), blurredBitmap));
Editor sagt Ansicht ‚‚‘kann Symbol nicht lösen‘. Ich versuchte, die zweite Zeile zu ändern;
View.setBackgroundDrawable(new BitmapDrawable(getResources(), blurredBitmap));
Aber diesmal Android Studio sagt 'Non-statische Methode' setBackgroudDrawable (android.graphic.drawables.Drawable) kann nicht von einem statischen Kontext
Hier ist die BlurBuilder Klasse I verwendet referenziert werden:
public class BlurBuilder {
private static final float BITMAP_SCALE = 0.4f;
private static final float BLUR_RADIUS = 7.5f;
public static Bitmap blur(Context context, Bitmap image) {
int width = Math.round(image.getWidth() * BITMAP_SCALE);
int height = Math.round(image.getHeight() * BITMAP_SCALE);
Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);
Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);
RenderScript rs = RenderScript.create(context);
ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
theIntrinsic.setRadius(BLUR_RADIUS);
theIntrinsic.setInput(tmpIn);
theIntrinsic.forEach(tmpOut);
tmpOut.copyTo(outputBitmap);
return outputBitmap;
}}
Vielen Dank im Voraus.
EDIT: Ich möchte den Hintergrund meiner Aktivität unscharf machen.
Ich nehme an, Ansicht ist Ihr ImageView-Variablenname? – sumandas
Nein, ist es nicht. Ich habe gerade mit der Programmierung von Android begonnen. Also verlasse ich einfach da, wie ich aus dem Beispiel kopiert habe. Ich weiß, ich sollte es ändern, aber ich weiß nicht, was ich genau machen soll. Wie sollte es sich ändern? Und ich versuche, das Bild für das gesamte Layout festzulegen. –