自定义Dialog

1、先个自己定义的dialog的xml文档,就和普通的界面编写是完全一样的!



    
		
        
 
    
        
    	
    	
    	
    
    
    
        
    	
    	
    	
    
    
    
    	

2、写个类继承Dialog

package com.kunpower.widget;

import com.kunpower.R;
import com.kunpower.RegisteActivity;
import com.kunpower.WelcomeActivity;

import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class LoginDialog extends Dialog implements android.view.View.OnClickListener {
	
	private Button dialog_login_ensure, dialog_login_cancel, dialog_to_registe;
	private EditText dialog_login_name, dialog_login_password;

	public LoginDialog(Context context, int theme) {
		super(context, theme);
	}
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		
		super.onCreate(savedInstanceState);
		setContentView(R.layout.dialog_login_layout);
		
		initView();
	}

	private void initView() {

		dialog_login_ensure = (Button) findViewById(R.id.dialog_login_ensure);
		dialog_login_ensure.setOnClickListener(this);
		dialog_login_cancel = (Button) findViewById(R.id.dialog_login_cancel);
		dialog_login_cancel.setOnClickListener(this);
		dialog_to_registe = (Button) findViewById(R.id.dialog_to_registe);
		dialog_to_registe.setOnClickListener(this);
		
		dialog_login_name = (EditText) findViewById(R.id.dialog_login_name);
		dialog_login_password = (EditText) findViewById(R.id.dialog_login_password);
	}

	public void onClick(View v) {

		switch (v.getId()) {
		case R.id.dialog_login_ensure :
			````						break;
		case R.id.dialog_login_cancel :
			cancel();
			break;
		case R.id.dialog_to_registe :
			cancel();
			Intent intent_registe = new Intent();
			intent_registe.setClass(getContext(), RegisteActivity.class);
			getContext().startActivity(intent_registe);
			break;
		}
	}

}

这里要注意,因为不是activity里所以要用getContext()来代替activity中的this

3、在需要的地方调用

LoginDialog ld = new LoginDialog(BusinessOppActivity.this, R.style.dialog);
     ld.show();

其中R.style.dialog为:

 

 

 

转载于:https://my.oschina.net/alishow527/blog/94477

你可能感兴趣的:(移动开发)