Ich setze einen drawrlayout Hintergrund mit Picasso, und schaute auf this Frage und befolgte die Schritte, es funktioniert, aber die seltsame Sache, die passiert ist, dass es nicht tut aktualisieren sie den Hintergrund, wenn die Aktivität zum ersten Mal geöffnet wird (was bedeutet, schließe ich haben, um sie dann wieder öffnen und der Hintergrund erscheint)Einstellung Layout Hintergrund mit Picasso ist nicht aktualisiert den Hintergrund auf den ersten offenen
das ist mein Layout
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_store"
app:menu="@menu/activity_store_drawer" />
</android.support.v4.widget.DrawerLayout>
EDIT: nach dem Vorschlag und diese ist meine Aktivitätsklasse :
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.design.widget.NavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Target;
public class Store extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_store);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
final DrawerLayout layout = (DrawerLayout) Store.this.findViewById(R.id.drawer_layout);
Target t = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
final Bitmap p = bitmap;
runOnUiThread(new Runnable() {
@Override
public void run() {
layout.setBackgroundDrawable(new BitmapDrawable(Store.this.getResources(), p));
}
});
Log.d("TAG", "Loaded");
}
@Override
public void onBitmapFailed(final Drawable errorDrawable) {
Log.d("TAG", "FAILED");
}
@Override
public void onPrepareLoad(final Drawable placeHolderDrawable) {
Log.d("TAG", "Prepare Load");
}
};
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
return true;
}
}
sollte ich dies der Aktivitätsklasse oder der Zielklasse hinzufügen? – user1
wo müssen Sie einige Sachen wie Hintergrund set n alle ... –
können Sie mir bitte sagen, ob die Bearbeitung korrekt ist? weil es immer noch das gleiche tut – user1