1
我有一個gridview與cardviews在主要活動上顯示一個ImageView。我試圖從圖像到細節活動有一個共享元素轉換。從Gridview共享元素過渡不從正確的位置啓動
這裏是MainActivity
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<GridView
android:id="@+id/showGrid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="2"
android:layout_margin="16dp"
android:verticalSpacing="16dp"/>
</android.support.v4.widget.NestedScrollView>
XML中的相關章節項目
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/showCard"
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_marginBottom="16dp"
android:background="@android:color/white"
android:elevation="8dp"
android:foreground="?selectableItemBackground"
android:orientation="vertical">
<ImageView
android:id="@+id/showLogo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@drawable/rth"
android:transitionName="logoImage" />
和XML的DetailsActivity
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="400dp">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/logo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/rth"
android:transitionName="logoImage"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7" />
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
他Re是來自MainActivity的java
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(MainActivity.this, FeedActivity.class);
Show show = (Show) adapterView.getItemAtPosition(i);
intent.putExtra("selectedShow", show);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(MainActivity.this, (View)findViewById(R.id.showLogo), "logoImage");
startActivity(intent, options.toBundle());
}
}
過渡效果發生並顯示正確的圖像。但是,轉換總是從gridview中的第一項開始。退出過渡將detailActivity中的圖像顯示爲gridview中的第一項,即使它來自另一個位置。
如何獲得用戶選擇的項目啓動和退出的轉換?謝謝!