2016-05-23 23 views
20

ho recentemente aggiornato la libreria di progettazione di supporto alla versione più recente e ora ogni attività che ha un CollapsingToolbarLayout getta la seguente eccezione:errore che gonfia CollapsingToolbarLayout

java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Drawable;I)V in class Landroid/support/v4/graphics/drawable/DrawableCompat; or its super classes (declaration of 'android.support.v4.graphics.drawable.DrawableCompat' appears in /data/data/com.radioafrica.music/files/instant-run/dex/slice-com.android.support-support-v4-24.0.0-beta1_f8cf3ba4c70f87f407a745b9fa14a2205d0b587c-classes.dex) 

Il log di errore completo è il seguente:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.radioafrica.music/com.radioafrica.music.activity.PlaylistTracks}: android.view.InflateException: Binary XML file line #31: Binary XML file line #31: Error inflating class android.support.design.widget.CollapsingToolbarLayout at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Drawable;I)V in class Landroid/support/v4/graphics/drawable/DrawableCompat; or its super classes (declaration of 'android.support.v4.graphics.drawable.DrawableCompat' appears in /data/data/com.radioafrica.music/files/instant-run/dex/slice-com.android.support-support-v4-24.0.0-beta1_f8cf3ba4c70f87f407a745b9fa14a2205d0b587c-classes.dex) 
    at android.support.design.widget.CollapsingToolbarLayout.setStatusBarScrim(CollapsingToolbarLayout.java:663) 
    at android.support.design.widget.CollapsingToolbarLayout.<init>(CollapsingToolbarLayout.java:197) 
    at android.support.design.widget.CollapsingToolbarLayout.<init>(CollapsingToolbarLayout.java:132)                   
    at java.lang.reflect.Constructor.newInstance(Native Method)                   
    at android.view.LayoutInflater.createView(LayoutInflater.java:619)                   
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)                   
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)                   
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)                   
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)                   
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)                   
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)                   
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)                   
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)                   
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)                   
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)                   
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)                   
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)                   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 

I cant sembrano trovare qual è il problema ...

il file di layout è:

`

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginEnd="64dp" 
     app:expandedTitleMarginStart="48dp" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      android:id="@+id/header" 
      android:layout_width="match_parent" 
      android:layout_height="280dip" 
      android:fitsSystemWindows="true" 
      android:scaleType="centerCrop" 
      android:src="@drawable/no_cover" 
      android:transitionName="avatar" 
      app:layout_collapseMode="parallax" /> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
    </android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <com.github.glomadrian.loadingballs.BallView 
     android:id="@+id/ballView" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_centerHorizontal="true" 
     android:layout_gravity="center" 
     android:layout_marginTop="150dip" 
     lib:ball_colors="@array/color" 
     lib:balls="5" 
     lib:enable_size_animation="true" 
     lib:max_ball_size="12dp" 
     lib:min_ball_size="5dp" 
     lib:movement_cycle_time="1500" 
     lib:size_cycle_time="500" /> 

    <android.support.v4.widget.NestedScrollView 
     android:id="@+id/nestedScrollView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:clipToPadding="false" 
     android:visibility="gone" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:card_view="http://schemas.android.com/apk/res-auto" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       card_view:cardCornerRadius="0dip" 
       card_view:cardElevation="2dip" 
       card_view:cardPreventCornerOverlap="true"> 

       <LinearLayout 
        android:id="@+id/layout" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" 
        android:padding="10dip"> 

        <TextView 
         android:id="@+id/name" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textAppearance="@style/TextAppearance.AppCompat.Large" 
         android:textColor="#fff" 
         android:layout_marginBottom="10dip" 
         android:textStyle="bold" /> 

        <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:id="@+id/owner" 
         android:textAppearance="@style/TextAppearance.AppCompat.Medium" 
         android:textColor="#e2e2e2" /> 
       </LinearLayout> 

      </android.support.v7.widget.CardView> 

      <com.radioafrica.music.view.ExpandableHeightListView 
       android:id="@+id/top_tracks" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:divider="#90ffffff" 
       android:dividerHeight="1dip" 
       android:focusable="false" 
       android:footerDividersEnabled="true" 
       android:headerDividersEnabled="true" /> 

     </LinearLayout> 

    </android.support.v4.widget.NestedScrollView> 

</RelativeLayout> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/floatingPlayButton" 
    style="@style/FabStyle" 
    app:layout_anchor="@id/app_bar_layout" 
    app:layout_anchorGravity="bottom|right|end" /> 

<include layout="@layout/mini_player" /> 

`

Il codice per l'attività è:

public class AlbumInfo extends AppCompatActivity implements AdapterView.OnItemClickListener, View.OnClickListener { 

public static final String ALBUM = "album"; 

private ExpandableHeightListView expandableHeightListView; 
private NestedScrollView nestedScrollView; 
private ImageView header; 
private BallView ballView; 
private LinearLayout layout; 
private LinearLayout miniPlayer; 
private TextView title, artistTextView; 
private ImageButton playPause; 
private ImageView artwork; 
private CollapsingToolbarLayout collapsingToolbarLayout; 

ImageButton previous; 
ImageButton next; 
TextView name; 
TextView owner; 
FloatingActionButton fab; 

String songTitle; 
String singer; 
String art; 
boolean playing = false; 

private ArrayList<Track> trackList; 
private Album album; 

@Subscribe(threadMode = ThreadMode.MAIN) 
public void onEvent(UIEvent uiEvent) { 
    miniPlayer.setVisibility(View.VISIBLE); 
    miniPlayer.setClickable(true); 

    songTitle = uiEvent.title; 
    singer = uiEvent.artist; 
    art = uiEvent.art; 
    playing = uiEvent.playing; 

    togglePlayButtonState(); 

    updateViews(); 
} 

private void updateViews() { 
    Picasso.with(this).load(art).fit().centerCrop().placeholder(R.drawable.no_cover).error(R.drawable.no_cover).into(artwork); 

    if (NakedGroove.getMediaType().equals(NakedGroove.RADIO)) { 
     artistTextView.setText(Html.fromHtml(singer)); 
     title.setText(songTitle); 
    } else { 
     artistTextView.setText(singer); 
     title.setText(songTitle); 
    } 
} 

@Subscribe(threadMode = ThreadMode.MAIN) 
public void onEvent(TracksEvent tracksEvent) { 
    trackList = tracksEvent.tracks; 

    if (trackList.size() != 0) { 
     ArtistTracksAdapter artistTracksAdapter = new ArtistTracksAdapter(AlbumInfo.this, R.layout.album_tracks_layout, trackList); 
     expandableHeightListView.setAdapter(artistTracksAdapter); 

     if (ballView != null) { 
      ballView.setVisibility(View.GONE); 
      nestedScrollView.setVisibility(View.VISIBLE); 
     } 
    } 
} 

private Target target = new Target() { 

    @Override 
    public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
     header.setImageBitmap(bitmap); 
     setColors(bitmap); 
    } 

    @Override 
    public void onBitmapFailed(Drawable errorDrawable) { 
     Picasso.with(AlbumInfo.this).load(album.getAlbumArt()).into(target); 
    } 

    @Override 
    public void onPrepareLoad(Drawable placeHolderDrawable) { 
     Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.no_cover); 
     header.setImageBitmap(bitmap); 
     setColors(bitmap); 
    } 
}; 

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    initActivityTransitions(); 
    setStatusBarColor(); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.album); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    assert getSupportActionBar() != null; 
    getSupportActionBar().setHomeButtonEnabled(true); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    album = getIntent().getParcelableExtra(ALBUM); 

    fetchAlbumTracks(album.getId()); 

    expandableHeightListView = (ExpandableHeightListView) findViewById(R.id.top_tracks); 
    nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScrollView); 
    header = (ImageView) findViewById(R.id.header); 
    ballView = (BallView) findViewById(R.id.ballView); 
    name = (TextView) findViewById(R.id.name); 
    owner = (TextView) findViewById(R.id.owner); 
    layout = (LinearLayout) findViewById(R.id.layout); 
    fab = (FloatingActionButton) findViewById(R.id.floatingPlayButton); 
    collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar); 

    title = (TextView) findViewById(R.id.title); 
    artistTextView = (TextView) findViewById(R.id.artist); 
    previous = (ImageButton) findViewById(R.id.notification_base_previous); 
    playPause = (ImageButton) findViewById(R.id.notification_base_play); 
    next = (ImageButton) findViewById(R.id.notification_base_next); 
    artwork = (ImageView) findViewById(R.id.notification_base_image); 
    miniPlayer = (LinearLayout) findViewById(R.id.mini_player); 

    collapsingToolbarLayout.setTitle(album.getTitle()); 
    collapsingToolbarLayout.setExpandedTitleColor(getResources().getColor(android.R.color.transparent)); 

    owner.setText(album.getArtist()); 
    name.setText(album.getTitle()); 

    fab.setOnClickListener(this); 
    fab.setRippleColor(getResources().getColor(R.color.app_theme_dark)); 

    miniPlayer.setOnClickListener(this); 
    previous.setOnClickListener(this); 
    next.setOnClickListener(this); 
    playPause.setOnClickListener(this); 

    expandableHeightListView.setExpanded(true); 
    expandableHeightListView.setOnItemClickListener(this); 

    if (album.getAlbumArt().length() != 0) 
     Picasso.with(this).load(album.getAlbumArt()).into(target); 
    else 
     Picasso.with(this).load(R.drawable.no_cover).into(target); 

    if (NakedGroove.isPlaying() || NakedGroove.isPaused()) { 
     miniPlayer.setVisibility(View.VISIBLE); 
     togglePlayButtonState(); 
    } else { 
     miniPlayer.setVisibility(View.GONE); 
    } 
} 

private void setStatusBarColor() { 
    Window window = getWindow(); 
    if (Build.VERSION.SDK_INT >= 19 && Build.VERSION.SDK_INT < 21) 
     window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
    if (Build.VERSION.SDK_INT >= 21) 
     getWindow().setStatusBarColor(getResources().getColor(android.R.color.transparent)); 
} 

private void fetchAlbumTracks(String id) { 
    startService(new Intent(this, RefresherService.class).setAction(RefresherService.FETCH_ALBUM_TRACKS).putExtra(RefresherService.ALBUM_ID, id)); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      super.onBackPressed(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

@Override 
public void onPause() { 
    super.onPause(); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 

    togglePlayButtonState(); 

    if (NakedGroove.getMediaType() != null && !NakedGroove.getMediaType().equals(NakedGroove.NOTHING)) { 
     updateViews(); 
    } 
} 

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    outState.putString(ALBUM, album.getTitle()); 
} 

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
    NakedGroove.setCurrentPlaylist(trackList); 
    NakedGroove.setCurrentIndex(position); 

    if (Build.VERSION.SDK_INT >= 16) 
     startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_URL)); 
    else 
     startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_URL)); 
} 

private void playPauseMusic() { 
    if (NakedGroove.isPlaying()) { 
     if (Build.VERSION.SDK_INT >= 16) 
      startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_PAUSE)); 
     else 
      startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_PAUSE)); 
    } else { 
     if (Build.VERSION.SDK_INT >= 16) 
      startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_PLAY)); 
     else 
      startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_PLAY)); 
    } 
} 

@Override 
public void onClick(View view) { 
    switch (view.getId()) { 
     case R.id.mini_player: 
      startActivity(new Intent(this, MusicPlayer.class)); 
      break; 
     case R.id.notification_base_play: 
      playPauseMusic(); 
      break; 
     case R.id.notification_base_next: 
      if (Build.VERSION.SDK_INT >= 16) 
       startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_SKIP)); 
      else 
       startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_SKIP)); 
      break; 
     case R.id.notification_base_previous: 
      if (Build.VERSION.SDK_INT >= 16) 
       startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_PREVIOUS)); 
      else 
       startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_PREVIOUS)); 
      break; 
     case R.id.floatingPlayButton: 
      if (trackList.size() != 0) { 
       NakedGroove.setCurrentPlaylist(trackList); 
       NakedGroove.setCurrentIndex(0); 

       if (Build.VERSION.SDK_INT >= 16) 
        startService(new Intent(this, PlayerService.class).setAction(PlayerService.ACTION_URL)); 
       else 
        startService(new Intent(this, MusicService.class).setAction(MusicService.ACTION_URL)); 
      } 
      break; 
    } 
} 

private void togglePlayButtonState() { 
    if (playing) { 
     playPause.setImageResource(R.drawable.ic_music_pause); 
    } else { 
     playPause.setImageResource(R.drawable.ic_music_play); 
    } 
} 

private void initActivityTransitions() { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     ChangeBounds transition = new ChangeBounds(); 
     transition.excludeTarget(android.R.id.statusBarBackground, true); 
     getWindow().setEnterTransition(transition); 
     getWindow().setReturnTransition(transition); 
    } 
} 

@Override 
protected void attachBaseContext(Context newBase) { 
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); 
} 

@Override 
protected void onStart() { 
    super.onStart(); 
    EventBus.getDefault().register(this); 
} 

@Override 
protected void onStop() { 
    EventBus.getDefault().unregister(this); 
    super.onStop(); 
} 

private void setColors(Bitmap bitmap) { 
    Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() { 
     @Override 
     public void onGenerated(Palette palette) { 
      if (palette.getVibrantSwatch() != null) { 
       Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); 
       float[] vibrant = vibrantSwatch.getHsl(); 

       nestedScrollView.setBackgroundColor(Color.HSVToColor(vibrant)); 
       layout.setBackgroundColor(Color.HSVToColor(vibrant)); 
       collapsingToolbarLayout.setContentScrimColor(Color.HSVToColor(vibrant)); 
       collapsingToolbarLayout.setStatusBarScrimColor(Color.HSVToColor(vibrant)); 
      } else if (palette.getDarkVibrantSwatch() != null) { 
       Palette.Swatch darkVibrantSwatch = palette.getDarkVibrantSwatch(); 
       float[] darkVibrant = darkVibrantSwatch.getHsl(); 

       nestedScrollView.setBackgroundColor(Color.HSVToColor(darkVibrant)); 
       layout.setBackgroundColor(Color.HSVToColor(darkVibrant)); 
       collapsingToolbarLayout.setContentScrimColor(Color.HSVToColor(darkVibrant)); 
       collapsingToolbarLayout.setStatusBarScrimColor(Color.HSVToColor(darkVibrant)); 
      } else if (palette.getDarkMutedSwatch() != null) { 
       Palette.Swatch darkMutedSwatch = palette.getDarkMutedSwatch(); 
       float[] darkMuted = darkMutedSwatch.getHsl(); 

       nestedScrollView.setBackgroundColor(Color.HSVToColor(darkMuted)); 
       layout.setBackgroundColor(Color.HSVToColor(darkMuted)); 
       collapsingToolbarLayout.setContentScrimColor(Color.HSVToColor(darkMuted)); 
       collapsingToolbarLayout.setStatusBarScrimColor(Color.HSVToColor(darkMuted)); 
      } else { 
       nestedScrollView.setBackgroundColor(getResources().getColor(R.color.DeepGrey)); 
       layout.setBackgroundColor(getResources().getColor(R.color.DeepGrey)); 
       collapsingToolbarLayout.setContentScrimColor(getResources().getColor(R.color.DeepGrey)); 
       collapsingToolbarLayout.setStatusBarScrimColor(getResources().getColor(R.color.DeepGrey)); 
      } 

      supportStartPostponedEnterTransition(); 
     } 
    }); 
} 

}

+0

In un primo momento modificare la tua domanda. –

+0

pubblica il file di layout – Mehta

+0

Fornisci l'attività/frammento in cui si verifica questo arresto anomalo. –

risposta

29

ho risposto un post simile qui Error inflating class CollapsingToolbarLayout

So che c'è una risposta accettata già, ma non funziona (o non funziona più).

Trascorro un paio d'ore alla ricerca di questo errore, quello che ho scoperto è questo.

In primo luogo, a causa della versione iniziale di Android Nougat noto anche come Android 7.0 (API 24) compileSdkVersion 24 è ora disponibile. Per farlo devi aggiornare il tuo sdk. Step 1

enter image description here

In secondo luogo, è quello di aggiornare i file di Gradle (richiesta una connessione Internet). Step 2

enter image description here

aggiornamento anche questa parte della app.Gradle

enter image description here

Terzo (opzionale) Pulire Progetto, Costruire progetto (entrambi sotto scheda Costruisci)

Spero che questo aiuto qualcuno là fuori e salvare alcune poche ore di ricerche.

Cin cin/Felice di codifica

Speranza che aiuta.

+1

Aggiornamento SDK (Android Nougat) e modifica nel file build.gradle come l'impostazione dell'API 24 funziona in quanto rimuove l'errore "Errore durante la generazione della classe CollapsingToolbarLayout" dal layout collassando a barra. –

+0

contento che ti aiuti. – ralphgabb

+1

Soluzione perfetta –

1

provare ad aggiornare tutte le librerie di supporto per la versione 24.0.0-beta1. Quindi clean, rebuild e run di nuovo il progetto. Che si spera dovrebbe risolvere il tuo problema.

+0

Ho aggiornato ma ancora non ci sono cambiamenti. L'errore è ancora persistente. –

+0

Su quale dispositivo si sta arrestando? Come soluzione temporanea potresti provare a rimuovere 'app: contentScrim ="? Attr/colorPrimary "' dal tuo XML, come da questa [domanda] (http://stackoverflow.com/questions/37395138/error-when-setting-contentscrim -color-on-collapsingtoolbarlayout). –

+0

Sto testando su un Nexus 6 con Android 6.0.1. Anche se lo rimuovo, non riesco ancora ad impostarlo a livello di programmazione. –

5

Si scopre che avevo un'altra dipendenza con una libreria di supporto in conflitto. Quando ho rimosso la dipendenza, il progetto è stato creato ed è stato eseguito correttamente.

+0

Come hai fatto a debuggarlo? –

+0

@TylerPfaff Ho provato ad aggiornare la versione della libreria di supporto v4 che avevo ma i registri degli arresti anomali mostravano una versione completamente diversa della libreria rispetto a quella che avevo. Ho quindi controllato tutte le mie dipendenze per vedere quali potrebbero includere anche la loro versione della libreria di supporto e rimuoverle. –

+0

suona bene, grazie! –

0

Provare ad aggiornare una dipendenza com.android.support:design con la stessa versione di altre librerie di supporto. Ho appena risolto questo problema nel mio progetto. Non l'ho aggiunto esplicitamente nel mio build.gradle dato che utilizzo una libreria che usa la libreria di progettazione di supporto. Il compito di gradle androidDependencies ha mostrato che il progetto di supporto aveva ancora versioni inferiori dopo l'aggiornamento di altre librerie, quindi l'ho aggiunto esplicitamente e ha funzionato come un incantesimo.

33

Soluzione trovata. Basta aggiungere

app:statusBarScrim="@null" 

al CollapsingToolbarLayout

+5

Grazie. Cambiare le versioni su e giù mi spaventa; questa era una soluzione sicura. – lionello

+1

Ho davvero apprezzato questa risposta, che ha funzionato per me! – Leonardo

+0

Funziona perfettamente nel mio dispositivo Android e anche nel mio dispositivo iOS utilizzando il webhook –