自定义Dialog初识
来源:互联网 发布:淘宝宝贝详情视频制作 编辑:程序博客网 时间:2024/05/20 02:30
写了这么多dialog,这个写完应该没有啥dialog了吧
先封装一个xml(自定义的dialog的样式)
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_customview" android:text="反馈意见" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <EditText android:id="@+id/etInput" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/btnSeubmit" android:text="提交" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
原理步骤
- 创建builder对象
- 引入我们要操作的布局
- 获取自定义dialog获取布局中控件
- 监听提交按钮点击事件
- 创建alertDialog对象
- 显示对话框
布局代码
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_my_dialog" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.axnet.duihuakuangtest.MyDialogActivity"> <Button android:text="输入姓名" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:id="@+id/btnInput"/> <TextView android:text="Hello World" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnInput" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="10dp" android:id="@+id/tvShow"/></RelativeLayout>
项目代码
public class MyDialogActivity extends AppCompatActivity { private Button btnInput; private TextView tvShow; AlertDialog dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_dialog); initView(); btnInput.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //创建builder对象 AlertDialog.Builder builder=new AlertDialog.Builder(MyDialogActivity.this); // 引入我们要操作的布局 LayoutInflater layoutInflater=getLayoutInflater(); View view=layoutInflater.inflate(R.layout.layout_customview,null); builder.setView(view); //获取自定义dialog获取布局中控件 final EditText etInput=(EditText) view.findViewById(R.id.etInput); Button btnSeubmit=(Button) view.findViewById(R.id.btnSeubmit); //监听提交按钮点击事件 btnSeubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name=etInput.getText().toString(); tvShow.setText(name); if(dialog!=null){ dialog.dismiss(); } } }); //创建alertDialog对象 dialog=builder.create(); //显示对话框 dialog.show(); } }); } private void initView() { btnInput=(Button)findViewById(R.id.btnInput); tvShow=(TextView)findViewById(R.id.tvShow); }}
当然,这只能满足基本需求,需要其他样式的,我们可以按照自己需求更改
阅读全文
0 0
- 自定义Dialog初识
- Dialog初识
- 自定义Dialog---继承Dialog
- 自定义Dialog android Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义dialog
- 自定义 Dialog
- 自定义dialog
- 自定义 dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义Dialog
- 芯片测试(蓝桥基础练习)详解
- 推荐三个很赞的英语学习网
- android 7.0源码编译
- PHP socket编程示例
- 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》阅读笔记
- 自定义Dialog初识
- Eclipse中Tomcat启动项目后404,单独启动正常
- CentOS 7搭建VPN服务器
- Android开发 之 矢量图及其动画
- SAP 常用的库存表
- Logstash的使用
- 蛋白质结构与功能的预测方法总结和资料汇总
- fabric源码解析5——kvledger初始化
- A