关键在于设置Style
    <style name="Dialog_Fullscreen">        <item name="android:windowBackground">@android:color/transparent</item>        <item name="android:windowIsFloating">false</item>        <item name="android:windowFullscreen">false</item>        <item name="android:windowNoTitle">true</item>        <item name="android:backgroundDimEnabled">true</item>    </style>


public class SpinnerDialog extends Dialog {private Context mContext;private ArrayAdapter<CharSequence> mAdapter = null;private OnConfirmListener mListener;private View mRoot;public SpinnerDialog(Context context) {this(context, R.style.Dialog_Fullscreen);}public SpinnerDialog(Context context, int theme) {super(context, R.style.Dialog_Fullscreen);mContext = context;}public void setSpinnerData(int resId) {mAdapter = ArrayAdapter.createFromResource(mContext, resId,android.R.layout.simple_spinner_item);}public void setSpinnerData(ArrayAdapter<CharSequence> adapter) {this.mAdapter = adapter;}private View getView() {mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// get layoutView v = LayoutInflater.from(mContext).inflate(R.layout.spinner_dialog,null);// bind datafinal Spinner spinner = (Spinner) v.findViewById(R.id.item_selector);spinner.setAdapter(mAdapter);// set click eventv.findViewById(R.id.btnOK).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {if (mListener != null) {int idx = spinner.getSelectedItemPosition();String val = spinner.getSelectedItem().toString();mListener.onConfirm(idx, val);}dismiss();}});v.findViewById(R.id.btnCancel).setOnClickListener(new View.OnClickListener() {public void onClick(View v) {cancel();}});return v;}public void setOnConfirmListener(OnConfirmListener listener) {mListener = listener;}@Overrideprotected void onStart() {super.onStart();if (mRoot == null) {mRoot = getView();setContentView(mRoot);}}/** * Interface definition for a callback to be invoked when press OK button. */public interface OnConfirmListener {public void onConfirm(int idx, String value);}}

调用
SpinnerDialog dlg = new SpinnerDialog(this);dlg.setSpinnerData(R.array.xxx);dlg.setOnConfirmListener(listener);

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Linux学习:文件IO(不带缓冲区),原子操作概念
  2. Linux学习:unix的标准化的实现(Linux中各种
  3. 艿艿的 Spring Cloud Alibaba!开整~
  4. 37000 字 + 代码,艿艿肝的 Shiro 从入门到
  5. Linux学习:Linux基础简介。
  6. HTTP/2:更快的页面加载时间[每日前端夜话0
  7. 最强 Spring Cloud 注册中心 Nacos,和艿艿
  8. 答应我,别再if/else走天下了可以吗
  9. 2021-1-17
  10. 在 Node.js 中转换 SVG 图像格式[每日前