Display ListPopupWindow on the left side of the screen

I can display ListPopupWindow in most of the left parts of the screen, following the code.

@Override
public View onCreateActionView() {
    LayoutInflater layoutInflater = LayoutInflater.from(mContext);

    final View actionItem = layoutInflater.inflate(R.layout.list_table_view_action_provider, null);

    final ImageButton button = (ImageButton) actionItem.findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mListPopupWindow = new ListPopupWindow(mContext);
            mListPopupWindow.setAnchorView(actionItem);
            mListPopupWindow.setAdapter(mAdapter);
            mListPopupWindow.setModal(true);
            mListPopupWindow.setContentWidth(150);

            // Display mListPopupWindow on most left of the screen
            mListPopupWindow.setHorizontalOffset(-1000);


            mListPopupWindow.setOnItemClickListener(ListTableViewActionProvider.this);

            mListPopupWindow.show();
            mListPopupWindow.setOnDismissListener(ListTableViewActionProvider.this);
        }
    });

    return actionItem;
}

"mListPopupWindow.setHorizontalOffset (-1000);" this is too bad. Are there other solutions?

+5
source share
1 answer

Here is an example ListPopupWindow,

        View  menuItemView = getActivity().findViewById( R.id.menu_filter );
        ListPopupWindow popup        = new ListPopupWindow( getActivity() );

        popup.setHorizontalOffset( -200 );
        popup.setVerticalOffset( -100 );

        popup.setAnchorView( menuItemView );
        popup.setWidth( 400 );
        popup.setModal( true );
        popup.setHeight( ListPopupWindow.WRAP_CONTENT );

        ListAdapter adapter = new MyAdapter( getActivity());
        popup.setAdapter( adapter );

        popup.show();
-1
source

All Articles