自定义Dialog通用提示框
来源:互联网 发布:淘宝店铺同步到手机端 编辑:程序博客网 时间:2024/05/18 03:43
一、效果图:
二、使用方式:
new CommomDialog(this, R.style.dialog, "未通过授权,请重试", new CommomDialog.OnCloseListener() { @Override public void onClick(Dialog dialog, boolean confirm) { if(confirm){ Toast.makeText(MainActivity.this,"点击确定", Toast.LENGTH_SHORT).show(); dialog.dismiss(); } } }).setTitle("提示").show();
三、CommomDialog类
public class CommomDialog extends Dialog implements View.OnClickListener{ private TextView contentTxt; private TextView titleTxt; private TextView submitTxt; private TextView cancelTxt; private Context mContext; private String content; private OnCloseListener listener; private String positiveName; private String negativeName; private String title; public CommomDialog(Context context) { super(context); this.mContext = context; } public CommomDialog(Context context, int themeResId, String content) { super(context, themeResId); this.mContext = context; this.content = content; } public CommomDialog(Context context, int themeResId, String content, OnCloseListener listener) { super(context, themeResId); this.mContext = context; this.content = content; this.listener = listener; } protected CommomDialog(Context context, boolean cancelable, OnCancelListener cancelListener) { super(context, cancelable, cancelListener); this.mContext = context; } public CommomDialog setTitle(String title){ this.title = title; return this; } public CommomDialog setPositiveButton(String name){ this.positiveName = name; return this; } public CommomDialog setNegativeButton(String name){ this.negativeName = name; return this; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog_commom); setCanceledOnTouchOutside(false); initView(); } private void initView(){ contentTxt = (TextView)findViewById(R.id.content); titleTxt = (TextView)findViewById(R.id.title); submitTxt = (TextView)findViewById(R.id.submit); submitTxt.setOnClickListener(this); cancelTxt = (TextView)findViewById(R.id.cancel); cancelTxt.setOnClickListener(this); contentTxt.setText(content); if(!TextUtils.isEmpty(positiveName)){ submitTxt.setText(positiveName); } if(!TextUtils.isEmpty(negativeName)){ cancelTxt.setText(negativeName); } if(!TextUtils.isEmpty(title)){ titleTxt.setText(title); } } @Override public void onClick(View v) { switch (v.getId()){ case R.id.cancel: if(listener != null){ listener.onClick(this, false); } this.dismiss(); break; case R.id.submit: if(listener != null){ listener.onClick(this, true); } break; } } public interface OnCloseListener{ void onClick(Dialog dialog, boolean confirm); }}四、dialog_commom.xml文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg_round_white" android:orientation="vertical" > <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:padding="12dp" android:layout_marginTop="12dp" android:text="提示" android:textSize="16sp" android:textColor="@color/black"/> <TextView android:id="@+id/content" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center_horizontal" android:lineSpacingExtra="3dp" android:layout_marginLeft="40dp" android:layout_marginTop="20dp" android:layout_marginRight="40dp" android:layout_marginBottom="30dp" android:text="签到成功,获得200积分" android:textSize="12sp" android:textColor="@color/font_common_1"/> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/commom_background"/> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal"> <TextView android:id="@+id/cancel" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg_dialog_left_white" android:layout_weight="1.0" android:gravity="center" android:text="@string/cancel" android:textSize="12sp" android:textColor="@color/font_common_2"/> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="@color/commom_background"/> <TextView android:id="@+id/submit" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg_dialog_right_white" android:gravity="center" android:layout_weight="1.0" android:text="@string/submit" android:textSize="12sp" android:textColor="@color/font_blue"/> </LinearLayout></LinearLayout>
五、圆角背景 android:background="@drawable/bg_round_white"
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white" /> <corners android:radius="8dp" /></shape>六、底部两个按钮也是要做相应的圆角处理,左下按钮:android:background="@drawable/bg_dialog_left_white"
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white" /> <corners android:bottomLeftRadius="8dp" /></shape>七、底部两个按钮也是要做相应的圆角处理,右下按钮:android:background="@drawable/bg_dialog_right_white"
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/white" /> <corners android:bottomRightRadius="8dp" /></shape>八、style.xml
<style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <!--边框--> <item name="android:windowIsFloating">true</item> <!--是否浮现在activity之上--> <item name="android:windowIsTranslucent">false</item> <!--半透明--> <item name="android:windowNoTitle">true</item> <!--无标题--> <item name="android:windowBackground">@android:color/transparent</item> <!--背景透明--> <item name="android:backgroundDimEnabled">true</item> <!--模糊--> </style>九、color.xml
<color name="white">#ffffff</color> <color name="black">#000000</color> <color name="font_common_1">#000000</color> <color name="commom_background">#e5e5e5</color> <color name="font_common_2">#000000</color> <color name="font_blue">#33ccff</color>
阅读全文
0 0
- 自定义Dialog通用提示框
- Android 代码库(自定义一套 Dialog通用提示框 )
- 7.自定义Dialog提示框
- android 自定义提示框Dialog
- android 自定义Dialog弹出提示框
- 安卓自定义超级提示框Dialog
- 自定义Dialog, Toast提示
- 自定义Dialog提示框高仿QQ浏览器版本更新提示框
- android自定义透明对话框,透明提示框,自定义Dialog
- 自定义Dialog之信息提示
- 提示控件之自定义Dialog
- app中自定义提示dialog
- 445_自定义通用的dialog
- Android 自定义通用Dialog的封装
- android dialog提示框
- Android提示框Dialog
- 自定义提示加载数据Dialog的实现
- Android自定义系列——通用的自定义Dialog
- R2104驱动电路的简单应用
- ConcurrentHashMap源码分析(基于JDK1.8)
- 197. Rising Temperature
- linux搭建svn服务
- Scala逆变和协变的实例分析
- 自定义Dialog通用提示框
- Java中的正则表达式
- 07:收集瓶盖赢大奖
- 微信开发者工具预览报-2001错误
- Kotlin实战——LacWeather
- 【兴趣书签】情商问题
- Android权限之sharedUserId和签名
- spring boot之log日志
- python openpyxl学习