@Override public void onClick(View v) { dismiss(); } });
/** * Create an Options List dialog * * @param context * @return */ public static OptionListDialog createOptionListDialog(Context context) { return new OptionListDialog(context); }
private void findViews() { mTvTitle = (TextView) findViewById(R.id.tvTitle); mTvCancel = (TextView) findViewById(R.id.tvCancel); mRvOptions = (RecyclerView) findViewById(R.id.rvOptions); mRvOptions.setLayoutManager(new LinearLayoutManager(mContext)); }
/** * 选项列表Dialog * * @param view */ public void optionListDialog(View view) { String[] options = new String[]{"选项1", "选项2", "选项3", "选项4", "选项5", "选项6"}; final OptionListDialog dialog = SmartisanDialog.createOptionListDialog(this); dialog.setTitle("请选择一个选项") .setOptionList(options) .setLastOption("选项5") // 上次选择的选项 .setItemGravity(Gravity.CENTER) // Item是居左、居中还是居右 .setLastColor(0xFF40B64A) // 上次选择的选项显示的颜色,用于区分 .show(); // setOnOptionItemSelectListener()方法必须在show()方法之后调用,否则无效 dialog.setOnOptionItemSelectListener(new OnOptionItemSelectListener() { @Override public void onSelect(int position, CharSequence option) { Toast.makeText(MainActivity.this, "position = " + position + ", option = " + option, Toast.LENGTH_SHORT).show(); dialog.dismiss(); } }); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ddh_sm_dialog_option_list); findViews(); Window window = getWindow(); window.setBackgroundDrawableResource(android.R.color.transparent); window.setGravity(Gravity.BOTTOM); window.setWindowAnimations(R.style.ddh_sm_BottomDialogStyle); }
@Override public void show() { super.show(); if (!TextUtils.isEmpty(mTitle)) { mTvTitle.setText(mTitle); } if (!TextUtils.isEmpty(mCancel)) { mTvCancel.setText(mCancel); } mOptionListAdapter = new OptionListAdapter(mOptions, mLastSelect, mLastColor); mOptionListAdapter.setItemGravity(mItemGravity); mRvOptions.setAdapter(mOptionListAdapter); mTvCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); }
@Override public void onSelect(int position, CharSequence option) { Toast.makeText(MainActivity.this, "position = " + position + ", option = " + option, Toast.LENGTH_SHORT).show(); dialog.dismiss(); } });