您现在的位置是:首页 > 数码 > 

Android自定义Dialog弹框效果

2025-07-26 15:57:44
Android自定义Dialog弹框效果 这是弹框输入密码的,这里还有一个是我发现一个博友写的自定义Dialog弹框信息和背景阴影显示 ,两者结合一起看,最好了!!! 下面是弹框输入密码的!!! 首先需要自定义一个类,继承Dialog packag

Android自定义Dialog弹框效果

这是弹框输入密码的,这里还有一个是我发现一个博友写的自定义Dialog弹框信息和背景阴影显示 ,两者结合一起看,最好了!!!

下面是弹框输入密码的!!!

首先需要自定义一个类,继承Dialog

package com.dialog;import android.app.Dialog;
import Context;
import Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class EditDialog_Login extends Dialog {private Button yes, no;//确定按钮private TextView titleTv;//消息标题文本private EditText text;//输入内容private String titleStr;//从外界设置的title文本private String messageStr;//从外界设置的消息文本private String yesStr, noStr; //确定文本和取消文本的显示内容private onoOnclickListener noOnclickListener;//取消按钮被点击了的private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的/*** 设置取消按钮的显示内容和监听** @param str* @param onoOnclickListener*/public void setoOnclickListener(String str, onoOnclickListener onoOnclickListener) {if (str != null) {noStr = str;} = onoOnclickListener;}/*** 设置确定按钮的显示内容和监听** @param str* @param onYesOnclickListener*/public void setYesOnclickListener(String str, onYesOnclickListener onYesOnclickListener) {if (str != null) {yesStr = str;}this.yesOnclickListener = onYesOnclickListener;}public EditDialog_Login(Context context) {super(context, R.style.Dialog_Msg);}@Overrideprotected void onCreate(Bundle savedInstanceState) {(savedInstanceState);setContentView(R.layout.activity_dialog);//按空白处不能取消动画setCanceledOnTouchOutside(true);//初始化界面控件initView();//初始化界面数据initData();//初始化界面控件的事件initEvent();}/*** 初始化界面的确定和取消*/private void initEvent() {//设置确定按钮被点击后,向外界提供监听yes.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (yesOnclickListener != null) {(text.getText().toString());}}});no.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (noOnclickListener != null) {();}}});}/*** 初始化界面控件的显示数据*/private void initData() {//如果用户自定了title和messageif (titleStr != null) {titleTv.setText(titleStr);}if (messageStr != null) {
//            messageTv.setText(messageStr);}//如果设置按钮的文字if (yesStr != null) {yes.setText(yesStr);}}/*** 初始化界面控件*/private void initView() {yes = (Button) findViewById(R.id.bt_TrueforSet);no = (Button) findViewById(R.id.bt_DeleteforSet);titleTv = (TextView) findViewById(R._shurudizhi);text = (EditText) findViewById(R._LoginInput);}/*** 从外界Activity为Dialog设置标题** @param title*/public void setTitle(String title) {titleStr = title;}/*** 从外界Activity为Dialog设置dialog的message** @param message*/public void setMessage(String message) {messageStr = message;}/*** 设置确定按钮和取消被点击的接口*/public interface onYesOnclickListener {public void onYesClick(String phone);}public interface onoOnclickListener {public void onoClick();}@Overridepublic void show() {super.show();}
}

接下来是布局文件:

 activity_main.xml:

<?xml version=1.0 encoding=utf-8?>
<RelativeLayoutxmlns:android=xmlns:app=xmlns:tools=android:layout_width=match_parentandroid:layout_height=match_parentandroid:gravity=centertools:context=.MainActivity><Buttonandroid:id=@id/dialogandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=dialog! />
</RelativeLayout>

activity_dialog.xml:

<?xml version=1.0 encoding=utf-8?>
<RelativeLayoutxmlns:android=xmlns:tools=android:layout_width=match_parentandroid:layout_height=match_parentandroid:orientation=vertical><TextViewandroid:id=@id/tv_shurudizhiandroid:layout_marginTop=0dpandroid:layout_centerHorizontal=trueandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=请输入密码登录android:textColor=#6F7B81android:textSize=20sp/><EditTextandroid:id=@id/et_LoginInputandroid:layout_below=@id/tv_shurudizhiandroid:background=@drawable/bg_edttextandroid:layout_centerHorizontal=trueandroid:layout_width=260dpandroid:inputType=textPasswordandroid:layout_height=50dpandroid:layout_gravity=centerandroid:layout_marginTop=0dp/><Buttonandroid:id=@id/bt_DeleteforSetandroid:layout_alignLeft=@id/et_LoginInputandroid:layout_below=@id/et_LoginInputandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:textSize=18spandroid:background=#9F9F9Fandroid:textColor=#ffffffandroid:layout_marginTop=0dpandroid:text=取消android:onClick=bt_LoginDelet/><Buttonandroid:id=@id/bt_TrueforSetandroid:layout_alignRight=@id/et_LoginInputandroid:layout_marginBottom=50dpandroid:layout_below=@id/et_LoginInputandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:textSize=18spandroid:textColor=#ffffffandroid:background=#27274Dandroid:layout_marginTop=0dpandroid:text=确定android:onClick=bt_LoginTrue/></RelativeLayout>

activity_succes.xml:

<?xml version=1.0 encoding=utf-8?>
<RelativeLayoutxmlns:android=android:layout_width=match_parentandroid:layout_height=match_parentandroid:gravity=center><TextViewandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=成功/></RelativeLayout>

主要使用:

MainActivity.java

package com.dialog;import Intent;
import android.support.v7.app.AppCompatActivity;
import Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private Button button;private EditDialog_Login editDialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {(savedInstanceState);setContentView(R.layout.activity_main);editDialog = new EditDialog_Login(this);//密码弹出Dialog//overridePendingTransition(R.anim.default_anim_in,R.anim.default_anim_out);editDialog.setTitle(请输入登录密码);editDialog.setYesOnclickListener(确定, new EditDialog_() {@Overridepublic void onYesClick(String text) {if (!(12)) {Display display = getWindowManager().getDefaultDisplay();int height = display.getHeight();//得到屏幕宽度Toast toast= (,密码错误,Toast.LEGTH_SHORT);toast.setGravity(Gravity.TOP, 0, height / 4); //toast弹框位置toast.show();} else {editDialog.dismiss();.finish();final Intent intent=new Intent(,);intent.setFlags(Intent.FLAG_ACTIVITY_EW_TASK);startActivity(intent);}}});editDialog.setoOnclickListener(取消, new EditDialog_() {@Overridepublic void onoClick() {editDialog.dismiss();}});//点击按钮弹出DialogshowEdit();}/*** 点击按钮弹出Dialog*/private void showEdit() {button= findViewById(R.id.dialog);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {editDialog.show();}});}}

 

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/857041.html

相关标签:无
上传时间: 2024-02-10 05:53:28
留言与评论(共有 18 条评论)
本站网友 大鸭梨烤鸭
4分钟前 发表
onYesOnclickListener onYesOnclickListener) {if (str != null) {yesStr = str;}this.yesOnclickListener = onYesOnclickListener;}public EditDialog_Login(Context context) {super(context
本站网友 水果减肥食谱
28分钟前 发表
gravity=center><TextViewandroid
本站网友 三叉神经痛治疗方法
5分钟前 发表
layout_height=match_parentandroid
本站网友 苹果血汗工厂
26分钟前 发表
layout_width=wrap_contentandroid
本站网友 肉的结构
5分钟前 发表
R.style.Dialog_Msg);}@Overrideprotected void onCreate(Bundle savedInstanceState) {(savedInstanceState);setContentView(R.layout.activity_dialog);//按空白处不能取消动画setCanceledOnTouchOutside(true);//初始化界面控件initView();//初始化界面数据initData();//初始化界面控件的事件initEvent();}/*** 初始化界面的确定和取消*/private void initEvent() {//设置确定按钮被点击后,向外界提供监听yes.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (yesOnclickListener != null) {(text.getText().toString());}}});no.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (noOnclickListener != null) {();}}});}/*** 初始化界面控件的显示数据*/private void initData() {//如果用户自定了title和messageif (titleStr != null) {titleTv.setText(titleStr);}if (messageStr != null) { // messageTv.setText(messageStr);}//如果设置按钮的文字if (yesStr != null) {yes.setText(yesStr);}}/*** 初始化界面控件*/private void initView() {yes = (Button) findViewById(R.id.bt_TrueforSet);no = (Button) findViewById(R.id.bt_DeleteforSet);titleTv = (TextView) findViewById(R._shurudizhi);text = (EditText) findViewById(R._LoginInput);}/*** 从外界Activity为Dialog设置标题** @param title*/public void setTitle(String title) {titleStr = title;}/*** 从外界Activity为Dialog设置dialog的message** @param message*/public void setMessage(String message) {messageStr = message;}/*** 设置确定按钮和取消被点击的接口*/public interface onYesOnclickListener {public void onYesClick(String phone);}public interface onoOnclickListener {public void onoClick();}@Overridepublic void show() {super.show();} } 接下来是布局文件:  activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayoutxmlns
本站网友 澳门豆捞团购
6分钟前 发表
onClick=bt_LoginTrue/></RelativeLayout> activity_succes.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayoutxmlns
本站网友 为民
30分钟前 发表
inputType=textPasswordandroid
本站网友 厦门一中
14分钟前 发表
layout_width=wrap_contentandroid
本站网友 济南焦点房地产网
11分钟前 发表
textSize=18spandroid
本站网友 女生开始起反应的表现
22分钟前 发表
layout_width=wrap_contentandroid
本站网友 经济衰退
19分钟前 发表
layout_gravity=centerandroid
本站网友 java和c
11分钟前 发表
layout_height=match_parentandroid
本站网友 青岛迎宾馆
4分钟前 发表
layout_below=@id/et_LoginInputandroid
本站网友 司原逐冀
17分钟前 发表
textColor=#6F7B81android
本站网友 乙文减肥
16分钟前 发表
id=@id/et_LoginInputandroid
本站网友 荷兰牛栏奶粉上火吗
3分钟前 发表
layout_width=wrap_contentandroid
本站网友 警察学校5
20分钟前 发表
密码错误