Voglio realizzare barra degli strumenti pieghevole con un logo nel modo seguente:Animazione logo insieme a crollare barra degli strumenti all'interno CoordinatorLayout
- spazio flessibile con sovrapposizione di contenuti, come shown here (è stato già installato);
- Parallaxed pattern in questo spazio che viene scrimmed di colore solido (ha anche questo)
- Un logo orizzontalmente centrato, che deve apparire proprio sopra il contenuto ma galleggiare verso l'alto come barra crolla: In azione dovrebbe essere qualcosa come pesto di foglie di qui (non necessariamente ridimensionabile, ma che sarebbe un plus):
Ecco il mio layout:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="192dp"
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:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:src="@drawable/random_pattern"
android:scaleType="fitXY"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.75"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/nested_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:behavior_overlapTop="64dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivityFragment"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp">
<!-- card content -->
</android.support.v7.widget.CardView>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
Il problema è che, ovunque cerco di posizionare l'immagine del logo, non si muove come se ne avessi bisogno, o tutto si rompe. Sembra che potrebbe essere richiesto un comportamento personalizzato. Sfortunatamente né delle esercitazioni che ho trovato sulla nuova libreria di progettazione spiegano come estenderlo - solo come usare le cose fornite. Non è stato rilasciato alcun codice sorgente, il codice decompilato non ha commenti ed è estremamente intricato, e il fatto che non sia ancora molto a mio agio con gli interni di layout di Android lo rende ancora peggiore.
Per favore aiuto?
Sembra come Ho festeggiato troppo presto. Per qualche motivo questo non funziona su pre-Lollipop: il 'FrameLayout' con logo è posizionato molto al di fuori dello schermo (' getY() 'è negativo). – Actine
Non funziona perché la libreria di progettazione applica l'offset utilizzando 'ViewOffsetHelper', che si basa su' TranslationY' solo per l'API 22 per qualche motivo. Ovviamente la classe è pacchetto-locale, grazie mille ... – Actine
Hai una soluzione per ora? –