本篇文章为大家展示了如何在Android中自定义Dialog,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
功能:
android 提供给我们的只有2种Dialog 即 AlertDialog & ProgressDialog 但是 Dialog 有其自身的特点:1. 不是 Activity 2. 开销比 Activity 小得多
原理:
1. android 系统提供了一个class: Dialog. 而且你可以把自己的工作放在"protected void onCreate(Bundle savedInstanceState)
" 在里面先调用系统的"super.onCreate(savedInstanceState)
" 其就会保证调用这个method.
2. 至于 Dialog 界面的定制 可以写一个xml 文件 然后 在 "void onCreate(Bundle)
" 通过 "setContentView()
" 来使之生效
3. Dialog 使用问题: 1. 弹出:show()
2. 取消:dismiss()
代码:
1. 创建一个 Dialog:
public class CustomDialog extends Dialog { public CustomDialog(Context context) { super(context); // TODO Auto-generated constructor stub } protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.custom_dialog); setTitle("Custom Dialog"); TextView text = (TextView)findViewById(R.id.text); text.setText("Hello, this is a custom dialog!"); ImageView image = (ImageView)findViewById(R.id.image); image.setImageResource(R.drawable.sepurple); Button buttonYes = (Button) findViewById(R.id.button_yes); buttonYes.setHeight(5); buttonYes.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub dismiss(); } }); Button buttonNo = (Button) findViewById(R.id.button_no); buttonNo.setSingleLine(true); buttonNo.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub dismiss(); } }); } //called when this dialog is dismissed protected void onStop() { Log.d("TAG","+++++++++++++++++++++++++++"); } }