【PopupWindow】創建PopupWindow

public class xxx extends Fragment{

    private TextView mSortBtn, mJoinBtn, mReadBtn;
    private ImageView mUpImg, mDownImg;
    private RecyclerView mRecycler;
    private LoadingPage mLoadPageFl;

    private PopupWindow popupWindow;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater,ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.retech_fg_my_shelf, container, false);
        mSortBtn = view.findViewById(R.id.tv_sort);
        mUpImg = view.findViewById(R.id.iv_up);
        mDownImg = view.findViewById(R.id.iv_down);
        mRecycler = view.findViewById(R.id.recyclerView);
        mLoadPageFl = view.findViewById(R.id.loadPage);
        TextView mTitleTv = view.findViewById(R.id.tv_AppBar);
        ImageView mBackBtn = view.findViewById(R.id.iv_back);
        ImageView mSearchBtn = view.findViewById(R.id.iv_search);
        mTitleTv.setText("我的書櫥");
        mBackBtn.setVisibility(View.GONE);
        mSearchBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               //to search page
            }
        });
        sort = "0";
        mSortBtn.setText("最近加入");
        mUpImg.setSelected(true);
        mDownImg.setSelected(false);
        mSortBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                popupWindow.showAsDropDown(mSortBtn, DpUtils.dp2px(getActivity(), 10.0f),
                        0, Gravity.LEFT);
            }
        });
        mLoadPageFl.setLoadPageListener(this);
        if (Utils.isPad(getActivity())) {
            mRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 4));
        } else {
            mRecycler.setLayoutManager(new GridLayoutManager(getActivity(), 3));
        }
        initPoPwindows();
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        mLoadPageFl.show();
    }

    private void initPoPwindows() {
        View view = View.inflate(getActivity(), R.layout.retech_pop_myshelf_sort, null);
        popupWindow = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
        popupWindow.setOutsideTouchable(true);
        mJoinBtn = view.findViewById(R.id.tv_join);
        mReadBtn = view.findViewById(R.id.tv_read);
        mJoinBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { //點擊最近加入按鈕
                mSortBtn.setText("最近加入");
                mJoinBtn.setTextColor(getResources().getColor(R.color.retech_appyes));
                mReadBtn.setTextColor(getResources().getColor(R.color.retech_appnot));
                if ("0".equals(sort)) {
                    sort = "1";
                    mUpImg.setSelected(false);
                    mDownImg.setSelected(true);
                    mLoadPageFl.show();
                } else {
                    sort = "0";
                    mUpImg.setSelected(true);
                    mDownImg.setSelected(false);
                    mLoadPageFl.show();
                }
                popupWindow.dismiss();
            }
        });
        mReadBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { //點擊最近閱讀按鈕
                mSortBtn.setText("最近閱讀");
                mJoinBtn.setTextColor(getResources().getColor(R.color.retech_appnot));
                mReadBtn.setTextColor(getResources().getColor(R.color.retech_appyes));
                if ("2".equals(sort)) {
                    sort = "3";
                    mUpImg.setSelected(false);
                    mDownImg.setSelected(true);
                    mLoadPageFl.show();
                } else {
                    sort = "2";
                    mUpImg.setSelected(true);
                    mDownImg.setSelected(false);
                    mLoadPageFl.show();
                }
                popupWindow.dismiss();
            }
        });
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章