原創|使用教程|編輯:郝浩|2013-09-29 10:09:24.000|閱讀 3392 次
概述:本文將闡述如何在Android創建一個自定義對話框并在其中獲得結果。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
背景:
無論是Android,還是其他什么平臺,對話框的主要形式都是彈出,或者我們可以說是一個在當前活動中打開的提示,來執行一些操作或實現一些功能。
你可以用一個對話框來問用戶以確認一個行動,向用戶通告一個事件,或者提示用戶額外信息。因為對話框擾亂UI流,你應該只是把它們當做最后的手段來用。在大多數情況下,你應該直接整合確認、反饋和提示到你的APP中。
當一個對話框打開,當前活動(通過該活動我們打開了對話框)成為背景,而對話框成為前景。在執行對話框中操作并關閉之后,背景中的活動又變回前景。
使用代碼
對話是創建對話框的基礎類。
創建一個帶有如下細節的項目:
在CustomDialogActivity.java文件復制如下代碼:
package sat.tuts4mobile.customdialogbox; import android.app.Activity; import android.app.Dialog; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class CustomDialogActivity extends Activity { Button buttonDialog; TextView textDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textDialog = (TextView)findViewById(R.id.textView1); buttonDialog = (Button)findViewById(R.id.buttondialog); buttonDialog.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub showCustomDialog(textDialog); } }); } protected void showCustomDialog(final TextView _textDialog) { // TODO Auto-generated method stub final Dialog dialog = new Dialog(CustomDialogActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.customdailog); final EditText editText = (EditText)dialog.findViewById(R.id.editText1); Button button = (Button)dialog.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub _textDialog.setText(editText.getText().toString()); dialog.dismiss(); } }); dialog.show(); } }
在activity_mail.xml文件中,復制如下代碼:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dip"> <Button android:id="@+id/buttondialog" android:layout_width="fill_parent" android:layout_height="40dip" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="Click to show dialog" android:background="#336699" android:textSize="25sp" android:textColor="#ffffff"/> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="" android:textSize="25sp"/> </RelativeLayout>
創建新的XML文件命名為customdialog.xml并復制如下代碼:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dip" android:background="#336699"> <EditText android:id="@+id/editText1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:ems="10" android:hint="enter text to display" android:singleLine="true"> <requestFocus /> </EditText> <Button android:id="@+id/button1" android:layout_width="120dip" android:layout_height="40dip" android:layout_below="@+id/editText1" android:layout_centerHorizontal="true" android:layout_marginTop="17dp" android:text="Submit" android:textSize="25sp" android:background="#669900" /> </RelativeLayout>
當你運行應用程序的時候,你將看到如下顯示:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網