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;   }
    }

     

     

     

     

     

  • 相关阅读:
    linux学习笔记
    HDMI之CEC DDC学习笔记(可能有误)
    MAP按照value排序
    Map遍历四种方法
    Java native方法
    [PAT] 1143 Lowest Common Ancestor (30 分)Java
    [PAT] 1148 Werewolf
    [PAT] 1096 Consecutive Factors (20 分)Java
    [PAT] 1092 To Buy or Not to Buy (20 分)Java
    [PAT] 1088 Rational Arithmetic (20 分)Java
  • 原文地址:https://www.cnblogs.com/jubincn/p/3522541.html
Copyright © 2011-2022 走看看