Android中制作自定义dialog对话框的实例分享

2019-12-10 18:06:11丽君

最后再完成MainActivity:

代码:

package com.xzw.custom.dialog;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {
   private TextView resultText;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    resultText = (TextView) findViewById(R.id.result);
    Button showDialogBtn = (Button) findViewById(R.id.showdialog);
    showDialogBtn.setOnClickListener(this);
    
   
  }

    @Override
    public void onClick(View v) {
         MyCustomDialog dialog = new MyCustomDialog(this,"Enter your name",new MyCustomDialog.OnCustomDialogListener() {
                
                @Override
                public void back(String name) {
                    resultText.setText("Enter name is "+name);
                    
                }
            });
            dialog.show();
        
  }
         
  
}

效果如图:

Android,dialog,对话框

 

炫酷升级版
在日常开发过程中,Android自带的对话框控件美观程度远远满足不了开发的要求,特别是相对于移植开发,下面描述的demo是基于1280X720分辨率实现的效果。

自定义对话框和上次记录的自定义RatingBar非常类似,都是通过在styles.xml里面继承父类(此处是Dialog)的样式。
styles.xml

<style name="NoticeDialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item><!--边框-->
    <item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
    <item name="android:windowIsTranslucent">false</item><!--半透明-->
    <item name="android:windowNoTitle">true</item><!--无标题-->
    <item name="android:windowBackground">@drawable/tck_bg</item><!--背景透明-->
    <item name="android:backgroundDimEnabled">false</item><!--模糊-->
  </style>