自定义对话框
2016-04-20 16:34
267 查看
转自:http://www.open-open.com/lib/view/open1402719209243.html
首先看下效果图,确保是你想要的效果:
xml文件:
style样式:
<style name="mydialogstyle" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
java代码
使用方法:
首先看下效果图,确保是你想要的效果:
xml文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/pop_bg" android:orientation="vertical" > <TextView android:id="@+id/title" android:layout_width="fill_parent" android:layout_height="40.0dip" android:layout_marginTop="15dp" android:gravity="center" android:text="设置号码" android:textColor="#fffffb" android:textSize="20sp" android:visibility="visible" /> <!-- <LinearLayout android:id="@+id/contentView" android:layout_width="fill_parent" android:layout_height="wrap_content" > --> <EditText android:id="@+id/number" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" android:gravity="left|center" android:hint="号码" /> <!-- </LinearLayout> --> <LinearLayout android:layout_width="fill_parent" android:layout_height="60.0dip" android:layout_gravity="bottom" android:layout_marginTop="5dp" android:gravity="center" android:orientation="horizontal" > <Button android:id="@+id/positiveButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/btn_ok_selector" android:gravity="center" /> <Button android:id="@+id/negativeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20.0dip" android:background="@drawable/btn_cancel_selector" android:gravity="center" /> </LinearLayout> </LinearLayout>
style样式:
<style name="mydialogstyle" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
java代码
import android.app.Dialog; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; /** * @Function: 自定义对话框 * @Date: 2013-10-28 * @Time: 下午12:37:43 * @author Tom.Cai */ public class CustomDialog extends Dialog { private EditText editText; private Button positiveButton, negativeButton; private TextView title; public CustomDialog(Context context) { super(context,R.style.CustomDialog); setCustomDialog(); } private void setCustomDialog() { View mView = LayoutInflater.from(getContext()).inflate(R.layout.dialog_normal_layout, null); title = (TextView) mView.findViewById(R.id.title); editText = (EditText) mView.findViewById(R.id.number); positiveButton = (Button) mView.findViewById(R.id.positiveButton); negativeButton = (Button) mView.findViewById(R.id.negativeButton); super.setContentView(mView); } public View getEditText(){ return editText; } @Override public void setContentView(int layoutResID) { } @Override public void setContentView(View view, LayoutParams params) { } @Override public void setContentView(View view) { } /** * 确定键监听器 * @param listener */ public void setOnPositiveListener(View.OnClickListener listener){ positiveButton.setOnClickListener(listener); } /** * 取消键监听器 * @param listener */ public void setOnNegativeListener(View.OnClickListener listener){ negativeButton.setOnClickListener(listener); } }
使用方法:
// 弹窗 private void dialog() { dialog = new CustomDialog(WorkspaceActivity.this); EditText editText = (EditText) dialog.getEditText();//方法在CustomDialog中实现 dialog.setOnPositiveListener(new OnClickListener() { @Override public void onClick(View v) { //dosomething youself dialog2.dismiss(); } }); dialog.setOnNegativeListener(new OnClickListener() { @Override public void onClick(View v) { dialog2.dismiss(); } }); dialog.show(); }
相关文章推荐
- ERROR 1071 (42000) at line 142: Specifiedkey was too long; max key length is 767 bytes
- V4L2架构
- Spark的发展历程
- Innodb undo log
- 《软件工程》团队博客列表
- 热身赛-ZZULIOJ-1872-Which Offer?
- Linux的工作管理(jobs control)
- 微信支付 常见报错
- rhel7搭建可用实验环境
- Android检验应用是否获取某项权限
- js截取中英文字符串、标点符号无乱码示例解读
- 0084:StreamingContext、DStream、Receiver深度剖析
- CHAPTER 1 Using neural nets to recognize handwritten digits By Michael Nielsen
- [NetworkFlow]网络流建模相关
- Java中split的用法
- 生产环境下戴尔 R820 kvm虚拟化部署二(物理主机系统优化)
- MicroERP开发技术分享:技术选型
- 第八周项目1——(3)数组作数据成员
- Python学习(13)函数
- 团队开发介绍