当前位置: 首页 > news >正文

建设信用卡积分兑换商城网站京东关键词优化技巧

建设信用卡积分兑换商城网站,京东关键词优化技巧,哪个网站下载软件最安全,苏州网站开发公司兴田德润在哪儿Dialog是所有对话框的基类#xff0c;但Dialog并非继承自View#xff0c;而是直接从Object构造出来的。Dialog调用是异步调用#xff0c;所以showDialog()时不会阻碍UI线程。 1. Activity托管对话框: Android提供了创建对话框的快捷方式#xff0c;在Activity中可以通过如s…Dialog是所有对话框的基类但Dialog并非继承自View而是直接从Object构造出来的。Dialog调用是异步调用所以showDialog()时不会阻碍UI线程。 1. Activity托管对话框: Android提供了创建对话框的快捷方式在Activity中可以通过如showDialog(int dialogId)dismissDialog(int dialogId)onCreateDialog()onPrepareDialog()removeDialog()等方法来创建和管理对话框。 onCreateDialog(int dialogId)和onPrepareDialog(int dialogId, Dialog dialog)是Dialog的2个回调函数showDialog()触发这两个回调函数的调用。 同所有的onCreate()一样其只在Dialog第一次生成的时候才会被调用而onPrepareDialog()在每次执行showDialog()都会被调用不管Dialog生成了没有。如果你想要更新对话框的内容你只要在onPrepareDialog()中作相应的工作就可以了该方法会在对话框显示之前进行调用。 dismissDialog()方法是用来关闭对话框的removeDialog()方法用来将对话框从Activity的托管中移除 如果对已经移除的对话框重新进行调用showDialog 则该对话框将进行重新创建。 2. 常用Dialog 1AlertDialog AlertDialog类是Dialog类的子类它默认提供了3个按钮和一个文本消息这些按钮可以按需要来使他们显示或隐藏。AlertDialog类中有一个内部静态类名为“Builder”Builder类提供了为对话框添加多选或单选列表以及为这些列表添加事件处理的功能。另外这个Builder类将AlertDialog对话框上的3个按钮按照他们的位置分别称呼为PositiveButton, NeutralButton, NegativeButton。 2ProgressDialog ProgressDialog.dialog new ProgressDialog(context); 没有内部静态类直接构造函数构造 3. 一个很特别的Dialog由Activity转换而来 具体请参见参考doc中android.R.style部分 1AndroidManifest.xml中的activity的属性中增加android :themeandroid :style/Theme.Dialog Activity的对话框主题。可使Activity变为Dialog浮动窗口 2AndroidManifest.xml中的activity的属性中增加android:themeandroid:style/Theme.TranslucentActivity半透明主题 4. 示例代码 1自定义Dialog并获取Dialog中EditText的数据 Java代码   public class MyDialog extends Dialog implements Button.OnClickListener {      private Button okButton, cancelButton;      private EditText nameEditText;      private MyDialogListener listener;            public MyDialog(Context context, MyDialogListener listener) {          super(context);          this.listener  listener;      }      protected void onCreate(Bundle savedInstanceState) {          setContentView(R.layout.mydialog);                    okButton  (Button) findViewById(R.id.okButton);          cancelButton  (Button) findViewById(R.id.cancelButton);          okButton.setOnClickListener(this);          cancelButton.setOnClickListener(this);                    nameEditText  (EditText) findViewById(R.id.nameEditText);      }      public void onClick(View v) {          switch (v.getId()) {          case R.id.okButton:               listener.onOkClick(nameEditText.getText().toString());               dismiss(); // 关闭Dialog               break;          case R.id.cancelButton:               cancel(); // 取消Dialog, 取消的含义是指不再需要执行对话框上的任何功能和动作, 取消对话框会自动调用dismiss()方法               break;          }          /*          * 当用户点击手机设备上的“返回”按钮时屏幕上的对话框将会被取消          * 如果你想让你的对话框不在这种情况下被取消掉的话你可以如下设置你的对话框setCancelable(false);          * 对话框的取消和关闭事件可以通过OnCancelListener和OnDismissListener两个监听器来被监听处理。          */      }        }   Java代码   public class MainActivity extends Activity implements MyDialogListener {      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          MyDialog dialog  new MyDialog(this, this);          dialog.show();      }      public void onCancelClick() {      }      public void onOkClick(String name) {          Toast.makeText(this, name, Toast.LENGTH_LONG).show();      }  }    interface MyDialogListener {      public void onOkClick(String name);      public void onCancelClick();  }   mydialog.xml Xml代码   ?xml version1.0 encodingUTF-8?  LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android      android:layout_widthfill_parent      android:layout_heightwrap_content      android:orientationvertical      TextView          android:idid/nameMessage          android:layout_widthfill_parent          android:layout_heightwrap_content          android:textEnter Name:/TextView          EditText              android:idid/nameEditText              android:layout_widthfill_parent              android:layout_heightwrap_content              android:textSize18sp/EditText          LinearLayout              android:idid/buttonLayout              android:layout_widthfill_parent              android:layout_heightwrap_content              android:layout_gravitycenter_horizontal              Button                  android:idid/okButton                  android:layout_widthwrap_content                  android:layout_heightwrap_content                  android:textOK              /Button              Button                  android:idid/cancelButton                  android:layout_widthwrap_content                  android:layout_heightwrap_content                  android:textCancel              /Button       /LinearLayout  /LinearLayout   Java代码   public class MainActivity2 extends Activity {      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);                    AlertDialog dialog  new AlertDialog.Builder(this).create();          dialog.setMessage(Do you play cricket?);          dialog.setButton(Yes, new DialogInterface.OnClickListener() {              public void onClick(DialogInterface dialog, int which) {                  switch (which) {                  case AlertDialog.BUTTON1:                      break;                  case AlertDialog.BUTTON2:                      break;                  }              }          });          dialog.setButton2(No, new DialogInterface.OnClickListener() {              public void onClick(DialogInterface dialog, int which) {              }          });          dialog.show();      }  }   托管Dialog Java代码   public class MainActivity extends Activity {      private Button button1, button2, button3, button4;      private Button.OnClickListener listener1, listener2, listener3, listener4;      private final int DIALOG1  1, DIALOG2  2, DIALOG3  3, DIALOG4  4;            Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);          prepareListener();      }            protected Dialog onCreateDialog(int id) {          switch (id) {          case DIALOG1:              return buildDialog(this, DIALOG1);          case DIALOG2:              return buildDialog(this, DIALOG2);          case DIALOG3:              return buildDialog(this, DIALOG3);          case DIALOG4:              return buildDialog(this, DIALOG4);          }          return null;      }            protected void onPrepareDialog(int id, Dialog dialog) {          super.onPrepareDialog(id, dialog);      }            private Dialog buildDialog(Context context, int seq) {          AlertDialog.Builder builder  new AlertDialog.Builder(context);          builder.setIcon(R.drawable.alert_dialog_icon);          if (DIALOG1  seq) {              builder.setTitle(R.string.alert_dialog_two_buttons_title);              builder.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {                  public void onClick(DialogInterface dialog, int which) {                      setTitle(R.string.alert_dialog_ok);                  }              });              builder.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {                  public void onClick(DialogInterface dialog, int which) {                      setTitle(R.string.alert_dialog_cancel);                  }              });          }          if (DIALOG2  seq) {              builder.setTitle(R.string.alert_dialog_two_buttons_msg);              builder.setMessage(R.string.alert_dialog_two_buttons2_msg);                            // AlertDialog最多只能有3个Button              builder.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {                  public void onClick(DialogInterface dialog, int which) {                      setTitle(R.string.alert_dialog_ok);                  }              });              builder.setNeutralButton(R.string.alert_dialog_something, new DialogInterface.OnClickListener() {                  public void onClick(DialogInterface dialog, int which) {                      setTitle(R.string.alert_dialog_something);                  }              });              builder.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {                  public void onClick(DialogInterface dialog, int which) {                      setTitle(R.string.alert_dialog_cancel);                  }              });          }          if (DIALOG3  seq) {              // LayoutInflater的inflate方法可以将一个XML布局变成一个View实例              LayoutInflater inflater  LayoutInflater.from(this);              View textEntryView  inflater.inflate(R.layout.alert_dialog_text_entry, null);              builder.setTitle(R.string.alert_dialog_text_entry);                            // setView()真可以说是Dialog的一个精髓              builder.setView(textEntryView);              builder.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {                  public void onClick(DialogInterface dialog, int which) {                      setTitle(R.string.alert_dialog_ok);                  }              });              builder.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {                  public void onClick(DialogInterface dialog, int which) {                      setTitle(R.string.alert_dialog_cancel);                  }              });          }          if (DIALOG4  seq) {              ProgressDialog dialog  new ProgressDialog(context);              dialog.setTitle(Downding the songs...);              dialog.setMessage(Please Waiting...);              return dialog;          }          return builder.create();      }        private boolean prepareListener() {          // init button          button1  (Button) findViewById(R.id.button1);          button2  (Button) findViewById(R.id.button2);          button3  (Button) findViewById(R.id.button3);          button4  (Button) findViewById(R.id.button4);                    // init listener          listener1  new Button.OnClickListener() {              public void onClick(View v) {                  showDialog(DIALOG1);              }          };          listener2  new Button.OnClickListener() {              public void onClick(View v) {                  showDialog(DIALOG2);              }          };          listener3  new Button.OnClickListener() {              public void onClick(View v) {                  showDialog(DIALOG3);              }          };          listener4  new Button.OnClickListener() {              public void onClick(View v) {                  showDialog(DIALOG4);              }          };                    // bind listener          button1.setOnClickListener(listener1);          button2.setOnClickListener(listener2);          button3.setOnClickListener(listener3);          button4.setOnClickListener(listener4);          return true;      }  }   alert_dialog_text_entry.xml Xml代码   ?xml version1.0 encodingutf-8?  LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android      android:orientationvertical      android:layout_widthfill_parent      android:layout_heightfill_parent            !-- android:textAppearance设置字体, 系统自带的字体 --      !-- android:capitalize设置大小写none首字母小写words首字母大写 --      TextView android:idid/username_view          android:layout_widthwrap_content          android:layout_heightwrap_content          android:layout_marginLeft20dip          android:layout_marginRight20dip          android:text用户名          android:textAppearance?android:attr/textAppearanceMedium      /      EditText android:idid/username_edit          android:layout_widthfill_parent          android:layout_heightwrap_content          android:layout_marginLeft20dip          android:layout_marginRight20dip          android:capitalizewords          android:textAppearance?android:attr/textAppearanceMedium      /      TextView android:idid/password_view          android:layout_widthwrap_content          android:layout_heightwrap_content          android:layout_marginLeft20dip          android:layout_marginRight20dip          android:text密码          android:textAppearance?android:attr/textAppearanceMedium      /      EditText android:idid/password_edit          android:layout_widthfill_parent          android:layout_heightwrap_content          android:layout_marginLeft20dip          android:layout_marginRight20dip          android:capitalizenone          android:passwordtrue          android:textAppearance?android:attr/textAppearanceMedium      /  /LinearLayout   去除对话框Dialog白色边框 使用样式文件在values 目录下新建styles.xml文件编写如下代码 Xml代码   resources      style namedialog parentandroid:style/Theme.Dialog           item nameandroid:windowFramenull/item          item nameandroid:windowIsFloatingtrue/item          item nameandroid:windowIsTranslucentfalse/item          item nameandroid:windowNoTitletrue/item          item nameandroid:backgroundandroid:color/black/item          item nameandroid:windowBackgroundnull/item          item nameandroid:backgroundDimEnabledfalse/item      /style  /resources   调用时使用AlerDialog的接口类Dialog 接口编写如下代码 Java代码   Dialog dialog  new Dialog(SetActivity.this, R.style.dialog);         dialog.setContentView(R.layout.test);         dialog.show();   下面我们查看一下Dialog的源码文件里面的构造函数为如下 Java代码   public Dialog(Context context, int theme) {          mContext  new ContextThemeWrapper(              context, theme  0 ? com.android.internal.R.style.Theme_Dialog : theme);          mWindowManager  (WindowManager)context.getSystemService(window);          Window w  PolicyManager.makeNewWindow(mContext);          mWindow  w;          w.setCallback(this);          w.setWindowManager(mWindowManager, null, null);          w.setGravity(Gravity.CENTER);          mUiThread  Thread.currentThread();          mDismissCancelHandler  new DismissCancelHandler(this);      }   这里面我们可以看出Android 使用了默认的构造函数为Dialog 设置样式如果没有为其设置样式即默认加载事先编写好的样式文件Dialog 一共由多个9.png的图片构成大部分都是带有边框的9.png图片所以就是为什么我们上边的样式文件要将其背景去除掉。 前后效果对比 未设置前 设置后 模式对话框Dialog背景的透明度黑暗度设置方法 设置透明度 Java代码   WindowManager.LayoutParams lpdialog.getWindow().getAttributes();    lp.alpha1.0f;    dialog.getWindow().setAttributes(lp);     alpha在0.0f到1.0f之间。1.0完全不透明0.0f完全透明 设置黑暗度 Java代码   dialog.setContentView(R.layout.dialog);    WindowManager.LayoutParams lpdialog.getWindow().getAttributes();    lp.dimAmount1.0f;    dialog.getWindow().setAttributes(lp);    dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);   Android 之 ProgressDialog http://blog.csdn.net/dadahacker/archive/2011/02/25/6208368.aspx Android 对话框(Dialog)大全 建立你自己的对话框 http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html
http://www.ho-use.cn/article/10819064.html

相关文章:

  • 科技企业网站建设模板wordpress竞争
  • 怎样进入国外网站提高审美网站
  • 滁州市建设工程质量检测协会网站昆山做网站的个人
  • 中华建设杂志网站中国空间站什么时候建成
  • 泸州网站开发公司怎样在百度上打广告
  • 可以自学网站开发ui设计培训排名
  • 网站源码提取网站建设流程图visio
  • 重视企业网站九江市建设项目服务中心
  • 电脑建立网站二次开发收费需要高点
  • 营销网站建设工作建筑工程培训
  • 求网站建设和网页设计的电子书专业的营销型网站
  • 国家建设工程注册管理中心网站wordpress的运行环境
  • 企业网站源码变现方法WordPress外贸企业站主题
  • 花钱做推广广告哪个网站好网页制作报价模板
  • 采集电影做的网站做网站建设销售
  • 网站制作与网页建设想找一家公司设计网站
  • 做网站经费免费看舆情网站
  • 阎良网站建设注册了域名怎么添加到自己的网站
  • 农村服务建设有限公司网站横沥做网站
  • 企业做的网站推广方案的步骤北京小程序开发平台
  • 机械网站案例丽水做企业网站的公司
  • 怎么开免费网站DW怎么做网站下拉菜单
  • 富阳网站建设公司wordpress 个人网站
  • 甘肃省建设厅网站连云港抖音优化
  • 个体工商户经营范围网站开发logo制作步骤
  • 厦门做网站排名wordpress没有加载图片
  • 如何搭建网站的支付接口个人网站可以做淘客
  • 商城网站怎样做自己做网站要学前端和后端
  • c语言做项目网站互联网黄页是什么
  • 设计网站推荐素材网站广州网站建设制作的公司