Dialog自定义样式及使用笔记
2016-06-08 10:26
381 查看
AlertDialog与Dialog的使用:自定义布局文件:layout_dialog.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/id_layout_alert" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/bg_green_Color" android:orientation="vertical"> <TextView android:id="@+id/titleView" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/bg_slight_green_Color" android:textSize="20sp" android:textColor="@color/txt_green_Color" android:text="确认删除吗?" android:gravity="center" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingBottom="10dp" android:paddingTop="10dp" android:ellipsize="marquee" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" android:orientation="horizontal"> <Button android:id="@+id/btn_confirm" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:text="确定" android:textSize="16sp" android:textColor="@color/txt_green_Color" android:padding="5dp" android:background="@drawable/bg_button_selector"/> <Button android:id="@+id/btn_cancel" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:layout_marginRight="20dp" android:textColor="@color/txt_green_Color" android:text="取消" android:textSize="16sp" android:padding="5dp" android:background="@drawable/bg_button_selector"/> </LinearLayout> </LinearLayout>1、AlertDialog:
AlertDialog.Builder builder=new AlertDialog.Builder(context); AlertDialog mAlertDialog=builder.create(); Window window = dialog.getWindow(); window.setGravity(Gravity.BOTTOM);//设置dialog的显示位置 mAlertDialog.show(); View view=LayoutInflater.from(context).inflate(R.layout.layout_dialog,null); Button confirmBtn=(Button)view.findViewById(R.id.btn_confirm); Button cancelBtn=(Button)view.findViewById(R.id.btn_cancel); confirmBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { //TODO click operator mAlertDialog.dismiss(); } }); cancelBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { mAlertDialog.dismiss(); } }); mAlertDialog.setContentView(view);//该方法在调用show()方法之后调用2、Dialog:
Dialog dialog=new Dialog(context,R.style.custom_dialog); dialog.setContentView(R.layout.layout_dialog); Button confirmBtn=(Button)dialog.findViewById(R.id.btn_confirm); Button cancelBtn=(Button)dialog.findViewById(R.id.btn_cancel); confirmBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { //TODO click operator dialog.dismiss(); } }); cancelBtn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { dialog.dismiss(); } }); dialog.show();注意:使用Dialog时dialog.getWindow().setGravity(Gravity.center)对dialog的位置显示并没有影响,如果想让Dialog居中,可以为其设置style,继承Theme.Dialog,就可以使其默认居中,style设置如下:
<style name="custom_dialog" parent="android:Theme.Dialog" > <item name="android:windowBackground">@android:color/transparent</item><!-- 窗口背景颜色 --> <item name="android:windowIsTranslucent">true</item><!-- 窗口是否半透明——是(与第一条配合使用)--> <item name="android:windowFrame">@null</item><!-- Dialog的windowFrame框为无 --> <item name="android:backgroundDimEnabled">true</item><!-- 是否允许背景模糊 --> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">false</item> <item name="android:windowContentOverlay">@null</item> <!--这个不设置的话,可能会出现边框黑线 --> <!--<item name="android:windowIsFloating">true</item> 是否浮现在activity之上 多了这句话activity宽度就不会充满全屏--> </style>
相关文章推荐
- DWZ刷新dialog解决方法
- MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
- js Dialog 去掉右上角的X关闭功能
- jquery BS,dialog控件自适应大小
- jQuery EasyUI Dialog拖不下来如何解决
- jquery ui dialog实现弹窗特效的思路及代码
- JQUERY dialog的用法详细解析
- jquery ui dialog替代confirm实例分析
- jQuery实现dialog设置focus焦点的方法
- Locate a File Using a File Open Dialog Box
- Save a File Using a File Save Dialog Box
- Android中自定义对话框(Dialog)的实例代码
- JQuery Dialog(JS 模态窗口,可拖拽的DIV)
- Jquery中dialog属性小记
- jQuery Dialog 弹出层对话框插件
- jquery dialog open后,服务器端控件失效的快速解决方法
- Android编程中自定义dialog用法实例
- Android 自定义对话框 showSetPwdDialog
- Android去除烦人的默认闪退Dialog
- Android编程经典代码集锦(复制,粘贴,浏览器调用,Toast显示,自定义Dialog等)