zoukankan      html  css  js  c++  java
  • Android 4 学习(21):对话框

    对话框

    创建Dialog的两种方式:

    1. 使用Dialog类或其子类,包括DialogFragment

    2. Activity中使用Dialog主题(theme

    下面是使用Dialog类的一个例子:

     

    // Create the new Dialog.
    Dialog dialog = new Dialog(MyActivity.this);
    // Set the title. dialog.setTitle(“Dialog Title”); // Inflate the layout. dialog.setContentView(R.layout.dialog_view); // Update the Dialog’s contents.
    TextView text = (TextView)dialog.findViewById(R.id.dialog_text_view);
    text.setText(“This is the text in my dialog”);
    // Display the Dialog. dialog.show();

     

    也可以使用Dialog的子类,例如常用的AlertDialog

     

    Context context = MyActivity.this;
    String title = “It is Pitch Black”;
    String message = “You are likely to be eaten by a Grue.”;
    String button1String = “Go Back”;
    String button2String = “Move Forward”; AlertDialog.Builder ad = new AlertDialog.Builder(context);
    ad.setTitle(title);ad.setMessage(message); ad.setPositiveButton(button1String,
    new DialogInterface.OnClickListener() {   public void onClick(DialogInterface dialog, int arg1) {     eatenByGrue();   } }); ad.setNegativeButton(button2String, new DialogInterface.OnClickListener(){   public void onClick(DialogInterface dialog, int arg1) {     //do nothing   } });

     

    还可以设置是否显示Cancel按钮:

     

    ad.setCancelable(true); 
    ad.setOnCancelListener(new DialogInterface.OnCancelListener() { 
      public void onCancel(DialogInterface dialog) { 
        eatenByGrue();   }
    });

     

    使用内置的Dialog

    Android中提供了这些现成的Dialog供我们使用:

    1. CharacterPickerDialog 

    2. DatePickerDialog 

    3. TimePickerDialog 

    4. ProgressDialog 

    使用Fragment

    Android中几乎所有的可见部分都可以放到Fragment中,我认为Fragment相对于View的一大优点是可以控制自己的生命周期。

     

    public class MyDialogFragment extends DialogFragment {
      private static String CURRENT_TIME = “CURRENT_TIME”; 
      public static MyDialogFragment newInstance(String currentTime) {
        // Create a new Fragment instance with the specified parameters.
        MyDialogFragment fragment = new MyDialogFragment();
        Bundle args = new Bundle();     args.putString(CURRENT_TIME, currentTime);     fragment.setArguments(args);     return fragment;   }
    }

     

     

     

     

     

  • 相关阅读:
    C++ 什么是多态
    *和&的使用
    静态链接库与动态链接库
    利尔达CC3200模块烧写程序笔记
    创龙TMS320C6748开发找不到 tl.dsp.evm6748的问题研究
    RTSC和XDCTool的理解
    创龙DSP6748开发板SYS/BIOS的LED闪烁-第2篇
    Coap协议学习笔记-第一篇
    linux进程的学习笔记(未完)
    创龙DSP6748开发板LED闪烁-第一篇
  • 原文地址:https://www.cnblogs.com/jubincn/p/3522541.html
Copyright © 2011-2022 走看看