[英]How to overlap RecylerView with Fragment layout and make it clickable
我有活动,其中包含RecyclerView中的单词列表。 通过单击“播放”菜单按钮,用户可以启动播放器,该播放器可以为列表中的所有单词发出声音,并像简单的音乐播放器一样操作它们。 播放器由片段组成。 我想要达到的结果。 目前,我自己的活动看起来像这样 。 在这里,我有2个无法解决的问题:1)片段未正确覆盖recyclerView。 2)片段按钮不可单击。 当我尝试与玩家互动时,会不断单击第一个列表的项目。
为了实现重叠和可点击性,我尝试使用android:alpha和focusable属性,但未带来任何效果。 片段的单击侦听器的代码已被编写。 下面,我发布必要活动的xml和java代码。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar_words"
layout="@layout/layout_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!--Container for PlayerFragment-->
<FrameLayout
android:id="@+id/player_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<android.support.v7.widget.RecyclerView
android:id="@+id/words_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
从Activity创建PlayerFragment的代码
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
switch (item.getItemId()) {
case R.id.action_player:
initPlayer();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void initPlayer() {
PlayerFragment mPlayerFragment = new PlayerFragment();
FragmentManager mFragmentManager = getSupportFragmentManager();
FragmentTransaction mFragmentTransaction = mFragmentManager.beginTransaction();
mFragmentTransaction.add(R.id.player_container, mPlayerFragment, PLAYER_FRAGMENT);
mFragmentTransaction.commit();
}
尝试下面的Recyclerview代码。
<android.support.v7.widget.RecyclerView
android:id="@+id/words_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/player_container"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.