95秀-自定义对话框 dialog 合集
普通的确认对话框
NormalDialog.javaimport android.app.Dialog;import android.content.Context;import android.view.View;import android.widget.ImageView;import android.widget.TextView;public class NormalDialog extends Dialog implements android.view.View.OnClickListener{private TextView tv_explain;private TextView tv_ok;private TextView tv_normal_title;private TextView tv_sub_title;private ImageView iv_cancel;public NormalDialog(Context context) {super(context,R.style.DialogTheme);initView();}public NormalDialog(Context context, int theme) {super(context, theme);initView();}private void initView() {setContentView(R.layout.dialog_normal);iv_cancel=(ImageView) findViewById(R.id.iv_cancel);iv_cancel.setOnClickListener(this);tv_explain=(TextView) findViewById(R.id.tv_explain);tv_ok=(TextView) findViewById(R.id.tv_ok);tv_normal_title=(TextView) findViewById(R.id.tv_normal_title);tv_sub_title= (TextView) findViewById(R.id.tv_sub_title);tv_ok.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.iv_cancel:dismiss();onCancleClick(v);break;case R.id.tv_ok:dismiss();onSureClick(v);break;default:break;}}public TextView getExpalinTextView() {return tv_explain;}public TextView getTitleView() {return tv_normal_title;}public TextView getTvOk(){return tv_ok;}public TextView getsubTitleTextView() {return tv_sub_title;}public void onSureClick(View v) {}public void onCancleClick(View v) {}}
确定取消对话框
dialog.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="264dp"android:layout_height="wrap_content"android:background="@drawable/dialog_bg"android:padding="28dp" ><TextViewandroid:id="@+id/tv_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:gravity="center"android:text="温馨提示"android:textColor="#666666"android:textSize="17sp" /><TextViewandroid:id="@+id/tv_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/tv_title"android:layout_centerHorizontal="true"android:layout_marginTop="26dp"android:gravity="center"android:text="你确定要进入"android:textColor="#a8a8a8"android:textSize="15sp" /><TextViewandroid:id="@+id/tv_content"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/tv_1"android:layout_centerHorizontal="true"android:layout_marginTop="6dp"android:gravity="center"android:text="喜洋洋和灰太狼"android:textColor="#e472a3"android:textSize="15sp" /><TextViewandroid:id="@+id/tv_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/tv_content"android:layout_centerHorizontal="true"android:layout_marginTop="6dp"android:gravity="center"android:text="的直播间吗?"android:textColor="#a8a8a8"android:textSize="15sp" /><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/tv_2"android:layout_marginTop="26dp" ><Viewandroid:id="@+id/v_center"android:layout_width="1px"android:layout_height="10dp"android:layout_centerHorizontal="true"android:background="#00000000" /><TextViewandroid:id="@+id/tv_cancle"android:layout_width="80dp"android:layout_height="36dp"android:layout_alignParentLeft="true"android:background="@drawable/tv_cancle_color_bg"android:gravity="center"android:text="取消"android:textColor="@drawable/tv_cancle_color_text"android:textSize="15sp" /><TextViewandroid:id="@+id/tv_sure"android:layout_width="80dp"android:layout_height="36dp"android:layout_alignParentRight="true"android:background="@drawable/tv_sure_color_bg"android:gravity="center"android:text="进入"android:textColor="@drawable/tv_sure_color_text"android:textSize="15sp" /></RelativeLayout></RelativeLayout>
MyDialog.javaimport android.app.Dialog;import android.content.Context;import android.view.View;import android.widget.TextView;public class MyDialog extends Dialog implements android.view.View.OnClickListener {private TextView tv_sure;private TextView tv_cancle;private TextView tv_content;public MyDialog(Context context) {super(context, R.style.DialogTheme);initView();}public MyDialog(Context context, int theme) {super(context, theme);initView();}private void initView() {setContentView(R.layout.dialog);tv_sure = (TextView) findViewById(R.id.tv_sure);tv_cancle = (TextView) findViewById(R.id.tv_cancle);tv_content = (TextView) findViewById(R.id.tv_content);tv_sure.setOnClickListener(this);tv_cancle.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.tv_sure:dismiss();onSureClick(v);break;case R.id.tv_cancle:dismiss();onCancleClick(v);break;default:break;}}public TextView getContentTextView() {return tv_content;}public void onSureClick(View v) {}public void onCancleClick(View v) {}}
填写信息对话框
dialog_repalce_nick.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="260dp"android:layout_height="wrap_content"android:background="@drawable/dialog_bg"android:orientation="vertical"android:paddingBottom="32dp"android:paddingLeft="18dp"android:paddingRight="18dp"android:paddingTop="18dp" ><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp" ><ImageViewandroid:id="@+id/iv_cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:padding="5dp"android:src="@drawable/dialog_close_selector" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@id/iv_cancel"android:layout_alignParentLeft="true"android:layout_alignTop="@id/iv_cancel"android:layout_centerVertical="true"android:gravity="center_vertical"android:text="修改昵称"android:textColor="#666666"android:textSize="17sp" /></RelativeLayout><TextViewandroid:id="@+id/tv_modify_state"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:text="(还可免费修改一次)"android:textColor="#a8a8a8"android:textSize="13sp" /><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="10dp"android:layout_marginTop="24dp" ><TextViewandroid:id="@+id/tv_former_nick"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:ellipsize="end"android:singleLine="true"android:text="原昵称:包青天"android:textColor="#a8a8a8"android:textSize="15sp" /><TextViewandroid:id="@+id/tv_new_nick"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_below="@id/tv_former_nick"android:layout_marginTop="16dp"android:gravity="center"android:text="新昵称:"android:textColor="#808080"android:textSize="15sp" /><EditTextandroid:id="@+id/et_new_nick"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@id/tv_new_nick"android:layout_alignTop="@id/tv_new_nick"android:layout_toRightOf="@id/tv_new_nick"android:background="@drawable/edit_input"android:ellipsize="end"android:minWidth="50dp"android:singleLine="true"android:textColor="#808080"android:textSize="15sp" ></EditText></RelativeLayout><TextViewandroid:id="@+id/replace_ok"android:layout_width="160dp"android:layout_height="36dp"android:layout_gravity="center_horizontal"android:layout_marginTop="30dp"android:background="@drawable/tv_sure_color_bg"android:gravity="center"android:text="保存"android:textColor="#fff"android:textSize="16sp" /></LinearLayout>
ReplaceNickDialog .javaimport android.app.Dialog;import android.content.Context;import android.os.Handler;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;public class ReplaceNickDialog extends Dialog implements View.OnClickListener {private static final int MAX_LENGTH = 10;private TextView tv_modify_state;private TextView tv_replace_ok;private TextView tv_former_nick;private EditText et_new_nick;private ImageView iv_cancel;private OnEventListenerV2 mOnEventListenerV2;//回调private String new_nick;private boolean mIsNeedPay;//是否需要付费private Handler mHandler;private InputMethodManager imm;public ReplaceNickDialog(Context context, boolean isNeedPay,OnEventListenerV2 OnEventListenerV2) {super(context, R.style.DialogTheme);initView(isNeedPay, OnEventListenerV2);}public ReplaceNickDialog(Context context, int theme, boolean isNeedPay,OnEventListenerV2 OnEventListenerV2) {super(context, theme);initView(isNeedPay, OnEventListenerV2);}private void initView(boolean isNeedPay, OnEventListenerV2 onEventListenerV2) {setContentView(R.layout.dialog_repalce_nick);mIsNeedPay = isNeedPay;mOnEventListenerV2 = onEventListenerV2;tv_former_nick = (TextView) findViewById(R.id.tv_former_nick);tv_replace_ok = (TextView) findViewById(R.id.replace_ok);et_new_nick = (EditText) findViewById(R.id.et_new_nick);imm = (InputMethodManager) et_new_nick.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);iv_cancel = (ImageView) findViewById(R.id.iv_cancel);tv_modify_state = (TextView) findViewById(R.id.tv_modify_state);tv_replace_ok.setOnClickListener(this);iv_cancel.setOnClickListener(this);tv_former_nick.setText("原昵称:" + "包青天");et_new_nick.setText("包青天");et_new_nick.selectAll();if (mIsNeedPay) tv_modify_state.setText("1000秀币/次");else tv_modify_state.setText("(还可免费修改一次)");mHandler = new Handler();mHandler.postDelayed(new Runnable() {@Overridepublic void run() {showInputMeth();}}, 200);}@Overridepublic void dismiss() {if (mHandler != null) mHandler.removeCallbacksAndMessages(null);mHandler = null;hideInputMeth();super.dismiss();}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.replace_ok:new_nick = et_new_nick.getText().toString().trim();if (new_nick.length() == 0 || new_nick.equals("")) Toast.makeText(getContext(), "新昵称不能为空", 0).show();else if (new_nick.length() > MAX_LENGTH) Toast.makeText(getContext(), "新昵称不能超过" + MAX_LENGTH + "个字", 0).show();else if (new_nick.equals("包青天")) Toast.makeText(getContext(), "新昵称不能与原昵称相同", 0).show();else asyncModifyNickName(new_nick);break;case R.id.iv_cancel:this.dismiss();break;}}private void asyncModifyNickName(final String new_name) {}//显示输入法public void showInputMeth() {if (et_new_nick != null) {et_new_nick.setFocusable(true);imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);}}//隐藏输入法private void hideInputMeth() {if (et_new_nick != null) imm.hideSoftInputFromWindow(et_new_nick.getWindowToken(), 0);}}interface OnEventListenerV2 {public void onEventListener(boolean successed, String msg, Object obj);}
带图片的对话框
dialog_buy_car.xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="260dp"android:layout_height="wrap_content"android:background="@drawable/dialog_bg"android:paddingBottom="28dp"android:paddingLeft="18dp"android:paddingRight="18dp"android:paddingTop="18dp" ><ImageViewandroid:id="@+id/iv_close"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:padding="5dp"android:src="@drawable/dialog_close_selector" /><TextViewandroid:id="@+id/tv_car_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@id/iv_close"android:layout_alignParentLeft="true"android:layout_alignTop="@id/iv_close"android:gravity="center"android:paddingLeft="10dp"android:text="兰博基尼"android:textColor="#666666"android:textSize="17sp" /><ImageViewandroid:id="@+id/iv_car_name"android:layout_width="110dp"android:layout_height="71dp"android:layout_below="@id/tv_car_name"android:layout_centerHorizontal="true"android:layout_marginBottom="10dp"android:src="@drawable/icar_store_dialog_defult" /><TextViewandroid:id="@+id/tv_submit_buy"android:layout_width="80dp"android:layout_height="36dp"android:layout_alignParentRight="true"android:layout_below="@id/iv_car_name"android:layout_marginRight="10dp"android:background="@drawable/tv_sure_color_bg"android:gravity="center"android:text="购买"android:textColor="#fff"android:textSize="16sp" /><TextViewandroid:id="@+id/tv_price"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignBottom="@id/tv_submit_buy"android:layout_alignLeft="@id/tv_car_name"android:layout_alignTop="@id/tv_submit_buy"android:layout_marginLeft="10dp"android:gravity="left|center_vertical"android:text="3000 秀币/月"android:textColor="#666666"android:textSize="14sp" /></RelativeLayout>
进度对话框
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="120dp"android:layout_height="120dp"android:background="@drawable/bg_progress_dialog"android:orientation="vertical" ><ProgressBarandroid:id="@+id/pgb_progress"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_marginTop="18dp"android:indeterminateDrawable="@drawable/progress_white" /><TextViewandroid:id="@+id/tv_messag"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/pgb_progress"android:layout_centerInParent="true"android:layout_marginTop="5dp"android:ellipsize="end"android:singleLine="true"android:text="正在加载中…"android:textColor="#fff"android:textSize="18sp"android:visibility="visible" /></RelativeLayout>
进度条的背景progress_white.xml<?xml version="1.0" encoding="UTF-8"?><layer-listxmlns:android="http://schemas.android.com/apk/res/android"><item><rotateandroid:drawable="@drawable/progress_white_icon"android:fromDegrees="0.0"android:toDegrees="360.0"android:pivotX="50.0%"android:pivotY="50.0%" /></item></layer-list>
通用项
整个对话框的background,背景色-白色,圆角3dp
dialog_bg.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item><shape><solid android:color="#fff" /><stroke android:width="1dp" android:color="#fff" /><corners android:radius="3dp" /></shape></item></selector>
背景选择器tv_cancle_color_bg.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><shape><solid android:color="#fff" /><stroke android:width="1dp" android:color="#80ffa726" /><corners android:radius="3dp" /></shape></item><item><shape><solid android:color="#fff" /><stroke android:width="1dp" android:color="#ffa726" /><corners android:radius="3dp" /></shape></item></selector>
文字颜色选择器tv_cancle_color_text.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:color="#80ffa726" android:state_pressed="true"></item><item android:color="#ffa726"></item></selector>
背景选择器tv_sure_color_bg.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><shape><solid android:color="#80ffa726" /><corners android:radius="3dp" /></shape></item><item android:state_enabled="false"><shape><solid android:color="#ffa726" /><corners android:radius="3dp" /></shape></item><item><shape><solid android:color="#ffa726" /><corners android:radius="3dp" /></shape></item></selector>
文字颜色选择器tv_sure_color_text.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:color="#7fffffff"></item><item android:color="#fff"></item></selector>
关闭按钮图片选择器dialog_close_selector.xml<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" ><item android:state_pressed="true" android:drawable="@drawable/btn_clean_white_pressed"></item><item android:drawable="@drawable/btn_clean_white"></item></selector>
对话框样式:背景透明,无标题栏,windowFrame框为无styles.xml<style name="DialogTheme" parent="@android:style/Theme.Dialog"><item name="android:windowBackground">@android:color/transparent</item><item name="android:windowNoTitle">true</item><item name="android:windowFrame">@null</item></style>
95秀-自定义对话框 dialog 合集的更多相关文章
- Android软件开发之盘点全部Dialog对话框大合集(一)
对话框大合集 今天我用自己写的一个Demo和大家具体介绍一个Android中的对话框的使用技巧. 1.确定取消对话框 个button 通过调用setPositiveButton方法和 setNeg ...
- 关于JFace的自定义对话框(Dialog类)
仅仅是使用MessageDialog,InputDialog等JFace中现成的对话框类是无法满足实际项目开发需要的. 很多时候都需要自己定制对话框,自定义对话框只要在Dialog类的基础上作扩展就行 ...
- Android自定义对话框(Dialog)位置,大小
代码: package angel.devil; import android.app.Activity;import android.app.Dialog;import android.os.Bun ...
- Android 自定义对话框(Dialog)位置,大小
代码: package angel.devil; import android.app.Activity; import android.app.Dialog; import android.os.B ...
- Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
目录 一.提示信息对话框: 二.单选对话框: 三.多选对话框: 四.自定义对话框: 演示项目完整代码: 一.提示信息对话框: //显示提示消息对话框 private void showMsgDialo ...
- Android 自定义View合集
自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/ ...
- Android中的对话框AlertDialog使用技巧合集-转载
Android中的对话框AlertDialog使用技巧合集 文章来自:http://blog.csdn.net/blue6626/article/details/6641105 今天我用自 ...
- Android项目实战(七):Dialog主题Activity实现自定义对话框效果
想必大家都用过Dialog主题的Activity吧,用它来显示自定义对话框效果绝对是一个非常不错的选择. 即把activity交互界面以Dialog的形式展现出来,Dialog主题的Activity大 ...
- android继承Dialog实现自定义对话框
有时需要自定义对话框,可以使用AlterDialog.Bulider,比如下面的代码片段 new AlertDialog.Builder(self) .setTitle("标题") ...
随机推荐
- JavaScript-学习一加载不动
为先加载的js后加载的html 加载完js运行时因为未加载html的原因导致找不到js所控制的元素 所以解决的方法就是把js放到控制元素的下方 或者html的底部 做成函数的时候可以放在头部,也就是说 ...
- 打包静默安装参数(nsis,msi,InstallShield,InnoSetup)[转]
有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有, Microsoft Windows Installer , Windo ...
- css 日常
去掉input边框 outline:none; 不让用户选择文本 user-select: none; 手机网页点击输入框的瞬间会出现灰色背景 解决方案: -webkit-tap-high ...
- os mac apache+php+mysql环境配置
1.启用系统自带的apache 服务 打开终端(terminal) #sudo apachectl start #sudo vi /etc/apache2/httpd.conf 修改 LoadModu ...
- $_CFG = load_config(); /* 载入系统参数 */
ecshop 中$_CFG数组主要是放置一些系统参数,并且全站共享的数据,在使用的时候,ecshop里面常常以$GLOBALS['_CFG']全局变量的模式来处理. ecshop 的$GLOBALS[ ...
- Request.QueryString 不能像使用方法那样使用不可调用
想要获取URL栏中的字符串,于是敲下代码如下: string other = HttpContext.Current.Request.ServerVariables("QUERY_STRIN ...
- Android 开发中使用 SQLite 数据库
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能. 此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP ...
- IDF 实验室部分题目WriteUp
前天花了一个下午的时间刷了几道IDF实验室的题目, 这个网站实在是有点冷清, 题目也比较少, 所以就被我和师兄们刷榜了2333... 因为我最先开始做, 所以就干脆刷到第一去了. 题目很水, 切莫见怪 ...
- POJ3080 Blue Jeans
题目链接. 题目大意: 给定n个字符串,找出最长相同且长度大于3的子串,如果存在多个,找出字典序最小的. 分析: 直接枚举(暴搜). 对于s[0]的每一个子串,判断是否在其它n-1个字符串中都存在. ...
- 无向图求割点 UVA 315 Network
输入数据处理正确其余的就是套强联通的模板了 #include <iostream> #include <cstdlib> #include <cstdio> #in ...