Tôi có nút tràn bên trong một CardView
trong Recyclerview
. Bất cứ khi nào tôi nhấp vào nút, tôi hiển thị menu bật lên nhưng cũng có thể RecyclerView
đang cuộn xuống một mục. Bất cứ ai có thể vui lòng giúp tôi ngừng cuộn không mong muốn này?PopupMenu nhấp vào gây ra RecyclerView để cuộn
Về cơ bản tôi đang cố gắng sao chép hành vi nút tràn tương tự như trong Cửa hàng Play.
Layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp">
<android.support.v7.widget.CardView
android:id="@+id/cv_tracks"
android:layout_width="match_parent"
android:layout_height="65dp"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp">
<ImageView
android:id="@+id/ivTracks"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/unknown"
/>
<Button
android:id="@+id/imgbtn_overflow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:drawableTop="@drawable/ic_overflow"
android:paddingLeft="25dp"
android:paddingRight="20dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
Adaptor:
@Override
public void onBindViewHolder(final TracksViewHolder tracksViewHolder, int i) {
tracksViewHolder.imgBtnOverflow.setTag(i);
tracksViewHolder.imgBtnOverflow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Creating the instance of PopupMenu
final int position = (Integer) v.getTag();
PopupMenu popup = new PopupMenu(mContext,tracksViewHolder.imgBtnOverflow);
//Inflating the Popup using xml file
popup.getMenuInflater()
.inflate(R.menu.popup_menu_overflow, popup.getMenu());
//registering popup with OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
if(mPopUpClick!=null)
mPopUpClick.actionOnPopUpItemClick(position,item,songs.get(position));
return true;
}
});
popup.show(); //showing popup menu
}
});
}
UPDATE: Got vấn đề .Khi hiển thị trình đơn popup, nó trượt danh sách xuống để hiển thị toàn bộ danh sách thả xuống. Làm thế nào để điều chỉnh popup để hiển thị lên/xuống tùy thuộc vào không gian có sẵn?
Tương tự đối với tôi, sử dụng android.widget.PopupMenu hoạt động cho đến nay. – Chris