一開始布局就再login_dlg.xml文件中拖了兩個文本框,兩個編輯框,兩個按鈕,此處學校到對於布局是屬性中如果前面有layout的就是表示該控件和父控件到關系,如果沒有到就表示該控件到子控件和該控件到關系。後來發現按鈕可以直接使用對話框上到就行了
然後就開始著手把它放到對話框上。說實話,以前沒使用過JAVA,怎麼創建對話框都不知道,真夠嗆的。
其實我也並不是沒有頭緒,因為我知道,再Android到SDK自帶了很多源碼,不會再裡面看看就知道了。再SDK中到ApiDemos工程下面,各種控件到效果,實現代碼都是有到。我到登錄對話框代碼就是再哪裡找到的,你說難不難。
下面是從API Demos下面拷貝過來一段代碼放到我到工程中,主要就是對對話框到onCreateDialog進行重寫。
-
- public class HelloWorld extends Activity
-
- {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.main);
- showDialog(1);
-
-
- }
-
- @Override
- protected Dialog onCreateDialog(int id) {
- LayoutInflater factory = LayoutInflater.from(this);
- final View textEntryView = factory.inflate(R.layout.login_dlg, null);
- return new AlertDialog.Builder(HelloWorld.this)
- .setIcon(R.drawable.icon)
- .setTitle(R.string.land_dialog_title)
- .setView(textEntryView)
- .setPositiveButton(R.string.land_dialog_ok, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
-
- //處理登錄
- Toast.makeText(HelloWorld.this,getText(R.string.land_select_ok), Toast.LENGTH_SHORT).show();
- }
- })
- .setNegativeButton(R.string.land_dialog_cancel, new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
-
- //處理取消登錄
- Toast.makeText(HelloWorld.this,getText(R.string.land_select_cancel), Toast.LENGTH_SHORT).show();
- }
- })
- .create();
- }
- }
下面是我的login_dlg.xml文件
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:id="@+id/username"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="20dip"
- android:layout_marginRight="20dip"
- android:textColor="#ff0000"
- android:gravity="left"
- android:text="用戶名:"
- />
- <EditText
- android:id="@+id/txt_username"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_marginLeft="20dip"
- android:layout_marginRight="20dip"
- android:gravity="fill_horizontal"
- android:autoText="false"
- android:capitalize="none"
- android:text="請輸入用戶名"
- />
- <TextView
- android:id="@+id/password"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="20dip"
- android:layout_marginRight="20dip"
- android:textColor="#ff0000"
- android:gravity="left"
- android:text="密碼:"
- />
- <EditText
- android:id="@+id/txt_password"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_marginLeft="20dip"
- android:layout_marginRight="20dip"
- android:gravity="fill_horizontal"
- android:autoText="false"
- android:password="true"
- android:capitalize="none"
- android:text="請輸入密碼"
- />
- </LinearLayout>