我想点击列表项(垂直)并在列表顶部打开RecycleView
/ CardView
,列表在水平CardView
后面变暗或淡化。 OnItemClicked
,我为卡片启动了一项新活动。这有效,但我希望它浮动在我的列表顶部垂直居中。
以下是适用于单独的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}"
android:layout_margin="@dimen/hourly_layout_margin"
android:animateLayoutChanges="true">
此处使用listView
进行布局,并且我希望card_view_container
在选中列表中的项目时位于顶部
<!-- layouts invisible or visible depending whether user chose to view details -->
<RelativeLayout
android:id="@+id/card_view_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:backgroundTint="@color/bright_foreground_inverse_material_light">
<FrameLayout
android:id="@+id/vg_cover"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_centerInParent="true"
tools:ignore="UselessParent"/>
</RelativeLayout>
单击listView行:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Intent intent = new Intent(getActivity(), HourlyDetailsActivity.class);
intent.putExtra("POSITION", position);
startActivity(intent);
}
但这取代了原来的布局,我希望它褪色......就像叠加层一样。
答案 0 :(得分:1)
实施浮动活动
在AndroidManifest.xml中
<activity
android:name=".FloatingActivity"
android:label="@string/title_activity_floating"
<!-- Use Translucent theme to get transparent activity background
and NoTitleBar to avoid super old style title bar ;) -->
android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>
答案 1 :(得分:0)
你可以使用动画来实现..
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="500" />
fade_out.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:duration="500" />
现在只需在活动交易上应用此动画。
Intent i = new Intent(this, HourlyDetailsActivity.class);
startActivity(i);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);