dialog (摘)

本文介绍了如何自定义Android Dialog的大小、样式以及创建方式。通过设置WindowManager.LayoutParams调整对话框宽高,通过style定义对话框背景和无标题,利用setContentView加载自定义布局,并展示了在Activity中创建和显示Dialog的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

 

dialog设置大小

  1. WindowManager.LayoutParams windowParams = dialog.getWindow().getAttributes();
  2.         windowParams.width = width; // 设置宽度
  3.         windowParams.height = height; // 设置高度
  4.         dialog.getWindow().setAttributes(windowParams);

 

 

Dialog的创建方式有两种:

  一是直接new一个Dialog对象,然后调用Dialog对象的show和dismiss方法来控制对话框的显示和隐藏

  二是在Activity的onCreateDialog(int id)方法中创建Dialog对象并返回,然后调用Activty的showDialog(int id)和dismissDialog(int id)来显示和隐藏对话框。

  区别在于通过第二种方式创建的对话框会继承Activity的属性,比如获得Activity的menu事件等。

  使用AlertDialog可以创建普通对话框、带列表的对话框以及带单选按钮和多选按钮的对话框。

 

 

Dialog标题去掉

        setTitle 不设

 

Dialog自定义样式

         setView

 

 

 

Dialog再自定义风格

 

1.首先在资源里面建立style的value;

<!-- ShareDialog -->  
    <style name="Theme.ShareDialog" parent="Android:style/Theme.Dialog">  
        <item name="Android:windowBackground">@drawable/fill_box</item>  
        <item name="Android:windowNoTitle">true</item>  
    </style> 
2.drawable/filled_box.xml:
<?xml version="1.0" encoding="utf-8"?>  
  
<selector xmlns:Android="http://schemas.android.com/apk/res/android">  
    <shape>  
        <stroke Android:width="3dp" />  
        <corners Android:radius="3dp" />  
        <padding Android:left="10dp" android:top="10dp" android:right="10dp"  
            Android:bottom="10dp" />  
    </shape>  
    <item Android:drawable="@drawable/dialog_my_bg" />  
</selector>
3.方法:

public static Dialog getDialog(final Context context, final String name) {  
  
        final Dialog dialog = new Dialog(context, R.style.Theme_ShareDialog);  
  
        dialog.setContentView(R.layout.dialog_share_comment);  
  
        Button btnshare = (Button) dialog.findViewById(R.id.dialog_btn_ok);  
        btnshare.setOnClickListener(new Button.OnClickListener() {  
            public void onClick(View view) {  
  
            }  
        });  
        return dialog;  
    } 
其中 dialog.setContentView(R.layout.dialog_share_comment);是对话框的布局

 new Dialog(context, R.style.Theme_ShareDialog);引用style

4.调用

public void onCreate(Bundle savedInstanceState) {  
      super.onCreate(savedInstanceState);  
      setContentView(R.layout.article_row);  
      getDialog(this, "Hie").show();  
  } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值