国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

南通網(wǎng)站關(guān)鍵詞優(yōu)化發(fā)稿吧

南通網(wǎng)站關(guān)鍵詞優(yōu)化,發(fā)稿吧,wordpress網(wǎng)站評論插件,徐匯做網(wǎng)站Dialog是所有對話框的基類,但Dialog并非繼承自View,而是直接從Object構(gòu)造出來的。Dialog調(diào)用是異步調(diào)用,所以showDialog()時不會阻礙UI線程。 1. Activity托管對話框: Android提供了創(chuàng)建對話框的快捷方式,在Activity中可以通過如s…
Dialog是所有對話框的基類,但Dialog并非繼承自View,而是直接從Object構(gòu)造出來的。Dialog調(diào)用是異步調(diào)用,所以showDialog()時不會阻礙UI線程。

1. Activity托管對話框:
????? Android提供了創(chuàng)建對話框的快捷方式,在Activity中可以通過如showDialog(int dialogId),dismissDialog(int dialogId),onCreateDialog(),onPrepareDialog(),removeDialog()等方法來創(chuàng)建和管理對話框。
????? onCreateDialog(int dialogId)和onPrepareDialog(int dialogId, Dialog dialog)是Dialog的2個回調(diào)函數(shù),showDialog()觸發(fā)這兩個回調(diào)函數(shù)的調(diào)用。 同所有的onCreate()一樣,其只在Dialog第一次生成的時候才會被調(diào)用,而onPrepareDialog()在每次執(zhí)行showDialog()都會被調(diào)用(不管Dialog生成了沒有)。如果你想要更新對話框的內(nèi)容,你只要在onPrepareDialog()中作相應(yīng)的工作就可以了,該方法會在對話框顯示之前進(jìn)行調(diào)用。
????? dismissDialog()方法是用來關(guān)閉對話框的;removeDialog()方法用來將對話框從Activity的托管中移除 (如果對已經(jīng)移除的對話框重新進(jìn)行調(diào)用showDialog ,則該對話框?qū)⑦M(jìn)行重新創(chuàng)建)。

2. 常用Dialog
(1)AlertDialog
AlertDialog類是Dialog類的子類,它默認(rèn)提供了3個按鈕和一個文本消息,這些按鈕可以按需要來使他們顯示或隱藏。AlertDialog類中有一個內(nèi)部靜態(tài)類,名為“Builder”,Builder類提供了為對話框添加多選或單選列表,以及為這些列表添加事件處理的功能。另外,這個Builder類將AlertDialog對話框上的3個按鈕按照他們的位置分別稱呼為:PositiveButton, NeutralButton, NegativeButton。
(2)ProgressDialog
ProgressDialog.dialog = new ProgressDialog(context); 沒有內(nèi)部靜態(tài)類,直接構(gòu)造函數(shù)構(gòu)造

3. 一個很特別的Dialog(由Activity轉(zhuǎn)換而來) ,具體請參見參考doc中android.R.style部分
(1)AndroidManifest.xml中的activity的屬性中增加:android :theme="@android :style/Theme.Dialog( Activity的對話框主題)??墒笰ctivity變?yōu)镈ialog(浮動窗口);
(2)AndroidManifest.xml中的activity的屬性中增加:android:theme="@android:style/Theme.Translucent"(Activity半透明主題);

4. 示例代碼
(1)自定義Dialog并獲取Dialog中EditText的數(shù)據(jù)
Java代碼 ? 收藏代碼
  1. public?class?MyDialog?extends?Dialog?implements?Button.OnClickListener?{??
  2. ????private?Button?okButton,?cancelButton;??
  3. ????private?EditText?nameEditText;??
  4. ????private?MyDialogListener?listener;??
  5. ??????
  6. ????public?MyDialog(Context?context,?MyDialogListener?listener)?{??
  7. ????????super(context);??
  8. ????????this.listener?=?listener;??
  9. ????}??
  10. ????protected?void?onCreate(Bundle?savedInstanceState)?{??
  11. ????????setContentView(R.layout.mydialog);??
  12. ??????????
  13. ????????okButton?=?(Button)?findViewById(R.id.okButton);??
  14. ????????cancelButton?=?(Button)?findViewById(R.id.cancelButton);??
  15. ????????okButton.setOnClickListener(this);??
  16. ????????cancelButton.setOnClickListener(this);??
  17. ??????????
  18. ????????nameEditText?=?(EditText)?findViewById(R.id.nameEditText);??
  19. ????}??
  20. ????public?void?onClick(View?v)?{??
  21. ????????switch?(v.getId())?{??
  22. ????????case?R.id.okButton:??
  23. ?????????????listener.onOkClick(nameEditText.getText().toString());??
  24. ?????????????dismiss();?//?關(guān)閉Dialog??
  25. ?????????????break;??
  26. ????????case?R.id.cancelButton:??
  27. ?????????????cancel();?//?取消Dialog,?"取消"的含義是指不再需要執(zhí)行對話框上的任何功能和動作,?取消對話框會自動調(diào)用dismiss()方法??
  28. ?????????????break;??
  29. ????????}??
  30. ????????/*?
  31. ?????????*?當(dāng)用戶點(diǎn)擊手機(jī)設(shè)備上的“返回”按鈕時,屏幕上的對話框?qū)蝗∠?#xff0c;?
  32. ?????????*?如果你想讓你的對話框不在這種情況下被取消掉的話,你可以如下設(shè)置你的對話框:setCancelable(false);?
  33. ?????????*?對話框的取消和關(guān)閉事件可以通過OnCancelListener和OnDismissListener兩個監(jiān)聽器來被監(jiān)聽處理。?
  34. ?????????*/??
  35. ????}??
  36. ??????
  37. }??

Java代碼 ? 收藏代碼
  1. public?class?MainActivity?extends?Activity?implements?MyDialogListener?{??
  2. ????public?void?onCreate(Bundle?savedInstanceState)?{??
  3. ????????super.onCreate(savedInstanceState);??
  4. ????????MyDialog?dialog?=?new?MyDialog(this,?this);??
  5. ????????dialog.show();??
  6. ????}??
  7. ????public?void?onCancelClick()?{??
  8. ????}??
  9. ????public?void?onOkClick(String?name)?{??
  10. ????????Toast.makeText(this,?name,?Toast.LENGTH_LONG).show();??
  11. ????}??
  12. }??
  13. ??
  14. interface?MyDialogListener?{??
  15. ????public?void?onOkClick(String?name);??
  16. ????public?void?onCancelClick();??
  17. }??

mydialog.xml
Xml代碼 ? 收藏代碼
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  3. ????android:layout_width="fill_parent"??
  4. ????android:layout_height="wrap_content"??
  5. ????android:orientation="vertical">??
  6. ????<TextView??
  7. ????????android:id="@+id/nameMessage"??
  8. ????????android:layout_width="fill_parent"??
  9. ????????android:layout_height="wrap_content"??
  10. ????????android:text="Enter?Name:"></TextView>??
  11. ????????<EditText??
  12. ????????????android:id="@+id/nameEditText"??
  13. ????????????android:layout_width="fill_parent"??
  14. ????????????android:layout_height="wrap_content"??
  15. ????????????android:textSize="18sp"></EditText>??
  16. ????????<LinearLayout??
  17. ????????????android:id="@+id/buttonLayout"??
  18. ????????????android:layout_width="fill_parent"??
  19. ????????????android:layout_height="wrap_content"??
  20. ????????????android:layout_gravity="center_horizontal">??
  21. ????????????<Button??
  22. ????????????????android:id="@+id/okButton"??
  23. ????????????????android:layout_width="wrap_content"??
  24. ????????????????android:layout_height="wrap_content"??
  25. ????????????????android:text="OK">??
  26. ????????????</Button>??
  27. ????????????<Button??
  28. ????????????????android:id="@+id/cancelButton"??
  29. ????????????????android:layout_width="wrap_content"??
  30. ????????????????android:layout_height="wrap_content"??
  31. ????????????????android:text="Cancel">??
  32. ????????????</Button>??
  33. ?????</LinearLayout>??
  34. </LinearLayout>??

Java代碼 ? 收藏代碼
  1. public?class?MainActivity2?extends?Activity?{??
  2. ????public?void?onCreate(Bundle?savedInstanceState)?{??
  3. ????????super.onCreate(savedInstanceState);??
  4. ??????????
  5. ????????AlertDialog?dialog?=?new?AlertDialog.Builder(this).create();??
  6. ????????dialog.setMessage("Do?you?play?cricket?");??
  7. ????????dialog.setButton("Yes",?new?DialogInterface.OnClickListener()?{??
  8. ????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  9. ????????????????switch?(which)?{??
  10. ????????????????case?AlertDialog.BUTTON1:??
  11. ????????????????????break;??
  12. ????????????????case?AlertDialog.BUTTON2:??
  13. ????????????????????break;??
  14. ????????????????}??
  15. ????????????}??
  16. ????????});??
  17. ????????dialog.setButton2("No",?new?DialogInterface.OnClickListener()?{??
  18. ????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  19. ????????????}??
  20. ????????});??
  21. ????????dialog.show();??
  22. ????}??
  23. }??

托管Dialog
Java代碼 ? 收藏代碼
  1. public?class?MainActivity?extends?Activity?{??
  2. ????private?Button?button1,?button2,?button3,?button4;??
  3. ????private?Button.OnClickListener?listener1,?listener2,?listener3,?listener4;??
  4. ????private?final?int?DIALOG1?=?1,?DIALOG2?=?2,?DIALOG3?=?3,?DIALOG4?=?4;??
  5. ??????
  6. ????@Override??
  7. ????public?void?onCreate(Bundle?savedInstanceState)?{??
  8. ????????super.onCreate(savedInstanceState);??
  9. ????????setContentView(R.layout.main);??
  10. ????????prepareListener();??
  11. ????}??
  12. ??????
  13. ????protected?Dialog?onCreateDialog(int?id)?{??
  14. ????????switch?(id)?{??
  15. ????????case?DIALOG1:??
  16. ????????????return?buildDialog(this,?DIALOG1);??
  17. ????????case?DIALOG2:??
  18. ????????????return?buildDialog(this,?DIALOG2);??
  19. ????????case?DIALOG3:??
  20. ????????????return?buildDialog(this,?DIALOG3);??
  21. ????????case?DIALOG4:??
  22. ????????????return?buildDialog(this,?DIALOG4);??
  23. ????????}??
  24. ????????return?null;??
  25. ????}??
  26. ??????
  27. ????protected?void?onPrepareDialog(int?id,?Dialog?dialog)?{??
  28. ????????super.onPrepareDialog(id,?dialog);??
  29. ????}??
  30. ??????
  31. ????private?Dialog?buildDialog(Context?context,?int?seq)?{??
  32. ????????AlertDialog.Builder?builder?=?new?AlertDialog.Builder(context);??
  33. ????????builder.setIcon(R.drawable.alert_dialog_icon);??
  34. ????????if?(DIALOG1?==?seq)?{??
  35. ????????????builder.setTitle(R.string.alert_dialog_two_buttons_title);??
  36. ????????????builder.setPositiveButton(R.string.alert_dialog_ok,?new?DialogInterface.OnClickListener()?{??
  37. ????????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  38. ????????????????????setTitle(R.string.alert_dialog_ok);??
  39. ????????????????}??
  40. ????????????});??
  41. ????????????builder.setNegativeButton(R.string.alert_dialog_cancel,?new?DialogInterface.OnClickListener()?{??
  42. ????????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  43. ????????????????????setTitle(R.string.alert_dialog_cancel);??
  44. ????????????????}??
  45. ????????????});??
  46. ????????}??
  47. ????????if?(DIALOG2?==?seq)?{??
  48. ????????????builder.setTitle(R.string.alert_dialog_two_buttons_msg);??
  49. ????????????builder.setMessage(R.string.alert_dialog_two_buttons2_msg);??
  50. ??????????????
  51. ????????????//?AlertDialog最多只能有3個Button??
  52. ????????????builder.setPositiveButton(R.string.alert_dialog_ok,?new?DialogInterface.OnClickListener()?{??
  53. ????????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  54. ????????????????????setTitle(R.string.alert_dialog_ok);??
  55. ????????????????}??
  56. ????????????});??
  57. ????????????builder.setNeutralButton(R.string.alert_dialog_something,?new?DialogInterface.OnClickListener()?{??
  58. ????????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  59. ????????????????????setTitle(R.string.alert_dialog_something);??
  60. ????????????????}??
  61. ????????????});??
  62. ????????????builder.setNegativeButton(R.string.alert_dialog_cancel,?new?DialogInterface.OnClickListener()?{??
  63. ????????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  64. ????????????????????setTitle(R.string.alert_dialog_cancel);??
  65. ????????????????}??
  66. ????????????});??
  67. ????????}??
  68. ????????if?(DIALOG3?==?seq)?{??
  69. ????????????//?LayoutInflater的inflate方法可以將一個XML布局變成一個View實(shí)例??
  70. ????????????LayoutInflater?inflater?=?LayoutInflater.from(this);??
  71. ????????????View?textEntryView?=?inflater.inflate(R.layout.alert_dialog_text_entry,?null);??
  72. ????????????builder.setTitle(R.string.alert_dialog_text_entry);??
  73. ??????????????
  74. ????????????//?setView()真可以說是Dialog的一個精髓??
  75. ????????????builder.setView(textEntryView);??
  76. ????????????builder.setPositiveButton(R.string.alert_dialog_ok,?new?DialogInterface.OnClickListener()?{??
  77. ????????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  78. ????????????????????setTitle(R.string.alert_dialog_ok);??
  79. ????????????????}??
  80. ????????????});??
  81. ????????????builder.setNegativeButton(R.string.alert_dialog_cancel,?new?DialogInterface.OnClickListener()?{??
  82. ????????????????public?void?onClick(DialogInterface?dialog,?int?which)?{??
  83. ????????????????????setTitle(R.string.alert_dialog_cancel);??
  84. ????????????????}??
  85. ????????????});??
  86. ????????}??
  87. ????????if?(DIALOG4?==?seq)?{??
  88. ????????????ProgressDialog?dialog?=?new?ProgressDialog(context);??
  89. ????????????dialog.setTitle("Downding?the?songs...");??
  90. ????????????dialog.setMessage("Please?Waiting...");??
  91. ????????????return?dialog;??
  92. ????????}??
  93. ????????return?builder.create();??
  94. ????}??
  95. ??
  96. ????private?boolean?prepareListener()?{??
  97. ????????//?init?button??
  98. ????????button1?=?(Button)?findViewById(R.id.button1);??
  99. ????????button2?=?(Button)?findViewById(R.id.button2);??
  100. ????????button3?=?(Button)?findViewById(R.id.button3);??
  101. ????????button4?=?(Button)?findViewById(R.id.button4);??
  102. ??????????
  103. ????????//?init?listener??
  104. ????????listener1?=?new?Button.OnClickListener()?{??
  105. ????????????public?void?onClick(View?v)?{??
  106. ????????????????showDialog(DIALOG1);??
  107. ????????????}??
  108. ????????};??
  109. ????????listener2?=?new?Button.OnClickListener()?{??
  110. ????????????public?void?onClick(View?v)?{??
  111. ????????????????showDialog(DIALOG2);??
  112. ????????????}??
  113. ????????};??
  114. ????????listener3?=?new?Button.OnClickListener()?{??
  115. ????????????public?void?onClick(View?v)?{??
  116. ????????????????showDialog(DIALOG3);??
  117. ????????????}??
  118. ????????};??
  119. ????????listener4?=?new?Button.OnClickListener()?{??
  120. ????????????public?void?onClick(View?v)?{??
  121. ????????????????showDialog(DIALOG4);??
  122. ????????????}??
  123. ????????};??
  124. ??????????
  125. ????????//?bind?listener??
  126. ????????button1.setOnClickListener(listener1);??
  127. ????????button2.setOnClickListener(listener2);??
  128. ????????button3.setOnClickListener(listener3);??
  129. ????????button4.setOnClickListener(listener4);??
  130. ????????return?true;??
  131. ????}??
  132. }??

alert_dialog_text_entry.xml
Xml代碼 ? 收藏代碼
  1. <?xml?version="1.0"?encoding="utf-8"?>??
  2. <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  3. ????android:orientation="vertical"??
  4. ????android:layout_width="fill_parent"??
  5. ????android:layout_height="fill_parent"??
  6. ????>??
  7. ????<!--?android:textAppearance:設(shè)置字體,?系統(tǒng)自帶的字體?-->??
  8. ????<!--?android:capitalize:設(shè)置大小寫;none首字母小寫;words首字母大寫?-->??
  9. ????<TextView?android:id="@+id/username_view"??
  10. ????????android:layout_width="wrap_content"??
  11. ????????android:layout_height="wrap_content"??
  12. ????????android:layout_marginLeft="20dip"??
  13. ????????android:layout_marginRight="20dip"??
  14. ????????android:text="用戶名"??
  15. ????????android:textAppearance="?android:attr/textAppearanceMedium"??
  16. ????/>??
  17. ????<EditText?android:id="@+id/username_edit"??
  18. ????????android:layout_width="fill_parent"??
  19. ????????android:layout_height="wrap_content"??
  20. ????????android:layout_marginLeft="20dip"??
  21. ????????android:layout_marginRight="20dip"??
  22. ????????android:capitalize="words"??
  23. ????????android:textAppearance="?android:attr/textAppearanceMedium"??
  24. ????/>??
  25. ????<TextView?android:id="@+id/password_view"??
  26. ????????android:layout_width="wrap_content"??
  27. ????????android:layout_height="wrap_content"??
  28. ????????android:layout_marginLeft="20dip"??
  29. ????????android:layout_marginRight="20dip"??
  30. ????????android:text="密碼"??
  31. ????????android:textAppearance="?android:attr/textAppearanceMedium"??
  32. ????/>??
  33. ????<EditText?android:id="@+id/password_edit"??
  34. ????????android:layout_width="fill_parent"??
  35. ????????android:layout_height="wrap_content"??
  36. ????????android:layout_marginLeft="20dip"??
  37. ????????android:layout_marginRight="20dip"??
  38. ????????android:capitalize="none"??
  39. ????????android:password="true"??
  40. ????????android:textAppearance="?android:attr/textAppearanceMedium"??
  41. ????/>??
  42. </LinearLayout>??


去除對話框Dialog白色邊框
使用樣式文件,在values 目錄下新建styles.xml文件,編寫如下代碼:

Xml代碼 ? 收藏代碼
  1. <resources>??
  2. ????<style?name="dialog"?parent="@android:style/Theme.Dialog">??
  3. ?????????<item?name="android:windowFrame">@null</item>??
  4. ????????<item?name="android:windowIsFloating">true</item>??
  5. ????????<item?name="android:windowIsTranslucent">false</item>??
  6. ????????<item?name="android:windowNoTitle">true</item>??
  7. ????????<item?name="android:background">@android:color/black</item>??
  8. ????????<item?name="android:windowBackground">@null</item>??
  9. ????????<item?name="android:backgroundDimEnabled">false</item>??
  10. ????</style>??
  11. </resources>??

調(diào)用時,使用AlerDialog的接口類,Dialog 接口編寫如下代碼:
Java代碼 ? 收藏代碼
  1. Dialog?dialog?=?new?Dialog(SetActivity.this,?R.style.dialog);??
  2. ???????dialog.setContentView(R.layout.test);??
  3. ???????dialog.show();??


下面我們查看一下Dialog的源碼文件,里面的構(gòu)造函數(shù)為如下:
Java代碼 ? 收藏代碼
  1. public?Dialog(Context?context,?int?theme)?{??
  2. ????????mContext?=?new?ContextThemeWrapper(??
  3. ????????????context,?theme?==?0???com.android.internal.R.style.Theme_Dialog?:?theme);??
  4. ????????mWindowManager?=?(WindowManager)context.getSystemService("window");??
  5. ????????Window?w?=?PolicyManager.makeNewWindow(mContext);??
  6. ????????mWindow?=?w;??
  7. ????????w.setCallback(this);??
  8. ????????w.setWindowManager(mWindowManager,?null,?null);??
  9. ????????w.setGravity(Gravity.CENTER);??
  10. ????????mUiThread?=?Thread.currentThread();??
  11. ????????mDismissCancelHandler?=?new?DismissCancelHandler(this);??
  12. ????}??


這里面我們可以看出,Android 使用了默認(rèn)的構(gòu)造函數(shù)為Dialog 設(shè)置樣式,如果沒有為其設(shè)置樣式,即默認(rèn)加載事先編寫好的樣式文件,Dialog 一共由多個9.png的圖片構(gòu)成,大部分都是帶有邊框的9.png圖片,所以就是為什么我們上邊的樣式文件要將其背景去除掉。
前后效果對比
未設(shè)置前:

設(shè)置后:


模式對話框Dialog背景的透明度&黑暗度設(shè)置方法
設(shè)置透明度:
Java代碼 ? 收藏代碼
  1. WindowManager.LayoutParams?lp=dialog.getWindow().getAttributes();????
  2. lp.alpha=1.0f;????
  3. dialog.getWindow().setAttributes(lp);????

alpha在0.0f到1.0f之間。1.0完全不透明,0.0f完全透明
設(shè)置黑暗度:
Java代碼 ? 收藏代碼
  1. dialog.setContentView(R.layout.dialog);????
  2. WindowManager.LayoutParams?lp=dialog.getWindow().getAttributes();????
  3. lp.dimAmount=1.0f;????
  4. dialog.getWindow().setAttributes(lp);????
  5. 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://aloenet.com.cn/news/41740.html

相關(guān)文章:

  • 裝修網(wǎng)站開發(fā)前的準(zhǔn)備工作百度推廣一個月多少錢
  • pc網(wǎng)站是什么seo網(wǎng)頁優(yōu)化培訓(xùn)
  • 網(wǎng)站備案跟域名備案廣告文案經(jīng)典范例200字
  • 一個網(wǎng)站按鈕怎么做精準(zhǔn)的搜索引擎優(yōu)化
  • 國家市場監(jiān)督管理總局60號令百度seo排名原理
  • 湛江高端網(wǎng)站建設(shè)頁面優(yōu)化的方法
  • 在線做字網(wǎng)站百度一下app下載安裝
  • 電子商務(wù)物流網(wǎng)站建設(shè)信息推廣平臺有哪些
  • 三河市建設(shè)廳公示網(wǎng)站百度的seo關(guān)鍵詞優(yōu)化怎么弄
  • 鞍山人才招聘網(wǎng)上海網(wǎng)站seo策劃
  • 和網(wǎng)站建設(shè)相關(guān)的行業(yè)剛剛傳來最新消息
  • 深圳市做網(wǎng)站公司谷歌搜索引擎免費(fèi)入口 香港
  • 專門做lolh的網(wǎng)站軟文營銷文章范文
  • 赤峰網(wǎng)站建設(shè) 公司網(wǎng)站優(yōu)化企業(yè)排名
  • 廈門外貿(mào)網(wǎng)站建設(shè)報價表站長平臺官網(wǎng)
  • 劉強(qiáng)東自己做網(wǎng)站圖片優(yōu)化網(wǎng)站
  • 獨(dú)立網(wǎng)站電子商務(wù)系統(tǒng)武漢做網(wǎng)絡(luò)推廣的公司
  • 在哪里可以找到做網(wǎng)站的公司濟(jì)南網(wǎng)站制作平臺
  • 嘉興網(wǎng)站建設(shè)推廣廣告公司排名
  • 東莞網(wǎng)站建設(shè)流程站長工具百度百科
  • 鐵路建設(shè)監(jiān)理網(wǎng)站武漢seo推廣優(yōu)化公司
  • 成都專業(yè)網(wǎng)站建設(shè)公司semifinal
  • 外貿(mào)商城網(wǎng)站系統(tǒng)域名解析查詢
  • win7 iis部署網(wǎng)站谷歌sem和seo區(qū)別
  • 網(wǎng)站建設(shè)方案書應(yīng)急處置方案seoul是什么意思
  • 做副業(yè)賺錢網(wǎng)站網(wǎng)絡(luò)推廣平臺排名
  • 成都極客聯(lián)盟網(wǎng)站建設(shè)公司網(wǎng)站建設(shè)公司大全
  • 精品網(wǎng)課平臺seo優(yōu)化技術(shù)
  • 自己做報名網(wǎng)站地推團(tuán)隊聯(lián)系方式
  • 吉安高端網(wǎng)站建設(shè)公司網(wǎng)站怎么優(yōu)化排名的方法