一個android的dialog框架
阿新 • • 發佈:2019-01-11
compile 'com.mylhyl:superDialog:1.0.11'
使用
簡單的對話方塊
new SuperDialog.Builder(this).setRadius(10) .setAlpha(0.5f) .setTitle("標題").setMessage("可以看到?") .setPositiveButton("確定", new SuperDialog.OnClickPositiveListener() { @Overridepublic void onClick(View v) { Toast.makeText(v.getContext(), "點了確定", Toast.LENGTH_LONG).show(); } }).build();
選擇對話方塊
//final String[] strings = {"拍照", "從相簿選擇", "小視訊"}; List<People> list = new ArrayList<>(); list.add(new People(1,"拍照")); list.add(new People(2,"從相簿選擇")); list.add(new People(3,"小視訊")); new SuperDialog.Builder(this) //.setAlpha(0.5f) //.setGravity(Gravity.CENTER)//.setTitle("上傳頭像", ColorRes.negativeButton) .setCanceledOnTouchOutside(false) .setItems(list, new SuperDialog.OnItemClickListener() { @Override public void onItemClick(int position) { Toast.makeText(MainActivity.this, strings[position], Toast.LENGTH_LONG).show(); } }) .setNegativeButton("取消", null) .build();
- 寬度
setWidth(@FloatRange(from = 0.0, to = 1.0) float width)
- 邊距
setPadding(int left, int top, int right, int bottom)
- 動畫
setWindowAnimations(int animStyle)
- 列表框距離下方按鈕的間距
setItemsBottomMargin(int bottomMargin)
- 指定位置顯示
setShowAtLocation(int gravity, int x, int y)
- 設定背景是否昏暗
setDimEnabled(boolean dimEnabled)
setConfigDialog
更多使用
.setConfigDialog(new SuperDialog.ConfigDialog() { @Override public void onConfig(Dialog dialog, Window window, WindowManager .LayoutParams wlp, DisplayMetrics dm) { window.setWindowAnimations(R.style.dialogWindowAnim);//動畫 wlp.y = 100;//底部距離 } })
說明
* 此庫自動將px轉換百分比,由於 Dialog 佈局一般只有微調,暫時只支援textSize,height,padding
* 預設字型大小;Title、message、button、padding 的px在設計稿為 1080 * 1920 的尺寸
* 所以使用時設計稿尺寸一定是1080 * 1920
github地址:https://github.com/mylhyl/AndroidSuperDialog