Ich habe eine CollapsingToolbar mit einem RecyclerView zu implementieren wurde versucht, hier die geringe Menge an Führung mit: http://android-developers.blogspot.co.uk/2015/05/android-design-support-library.html und das Projekt hier: https://github.com/chrisbanes/cheesesquare, und ich habe zur Zeit das folgende Layout:CoordinatorLayout mit RecyclerView & CollapsingToolbarLayout
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="@dimen/detail_backdrop_height"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:fitsSystemWindows="true"
app:theme="@style/Toolbar"
app:contentScrim="@color/primary"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp">
<ImageView
android:id="@+id/backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
app:theme="@style/Toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.FloatingActionButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom|right|end"
android:src="@drawable/ic_directions"
android:layout_margin="@dimen/fab_margin"
android:clickable="true"/>
</android.support.design.widget.CoordinatorLayout>
die Quelle ist wie folgt:
setContentView(R.layout.activity_details_image);
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
loadImage();
CollapsingToolbarLayout collapsingToolbar =
(CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
collapsingToolbar.setTitle(formatName(getIntent().getStringExtra("name")));
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
ArrayList<DetailsAdapter.Detail> details = new ArrayList<DetailsAdapter.Detail>();
details.add(new DetailsAdapter.Detail("Main Facilities", "Children's Play Area, Ecotricity Electric Vehicle Charging Point, Lucky Coin, Multi Faith Room (southbound only), Showers", R.drawable.ic_moto));
details.add(new DetailsAdapter.Detail("Restaurants", "Eat & Drink Co., Burger King, Costa, West Cornwall Pasty Co. (northbound only), Greggs, Costa Express, Krispy Kreme", R.drawable.ic_moto));
details.add(new DetailsAdapter.Detail("Shops", "WHSmith, M&S Simply Food, Fone Bitz, Cotton Traders, Ladbrokes (southbound only)", R.drawable.ic_moto));
details.add(new DetailsAdapter.Detail("Motel", "Travelodge", R.drawable.ic_moto));
details.add(new DetailsAdapter.Detail("Forecourt", "BP (with: LPG), Costa Express, Air1 AdBlue", R.drawable.ic_moto));
DetailsAdapter mAdapter = new DetailsAdapter(this, details);
recyclerView.setAdapter(mAdapter);
recyclerView.setItemAnimator(new DefaultItemAnimator());
ich es ohne die kollabierenden Symbolleiste getestet haben und es scrollt feinen
Es scrollt jedoch nicht, auch wenn die Liste länger als die sichtbaren Teile ist. Was habe ich falsch gemacht?
Ich habe versucht, mit Ihrem Layout mit einem einfachen RecyclerView, es hat gut funktioniert. Das Problem könnte mit der Anzahl der Artikel oder vielleicht mit der Implementierung des Adapters sein? – razzledazzle
Es funktioniert ohne die Symbolleiste, wie ich schon sagte. Der Adapter und die Artikel sind in Ordnung. Könnten Sie Ihr Projekt hochladen? – Kieron
Eigentlich, um zu testen, änderte ich das Projekt Cheesesquare, nur was ich tat, war das Ersetzen der NestedScrollingView in der Detailansicht mit der RecyclerView im Projekt, es funktionierte. – razzledazzle