標籤:android自訂對話方塊 自訂對話方塊 android對話方塊
建立一個布局檔案 my_dialog.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="4dp" android:text="@string/textView1" /> <EditText android:id="@+id/editText_user" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="4dp" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText_user" android:layout_below="@+id/editText_user" android:layout_marginTop="7dp" android:text="@string/textView2" /> <EditText android:id="@+id/editText_pwd" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView2" android:layout_marginTop="4dp" android:layout_below="@+id/textView2" /></RelativeLayout>
以下是strings.xml檔案:
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">demo091801</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="MyDialog">自訂對話方塊</string> <string name="textView1">使用者名稱</string> <string name="textView2">密碼</string></resources>
在主activity_main.xml中添加一個按鈕控制項,當單擊此按鈕時即彈出自訂的對話方塊:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/My_Dialog" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/MyDialog" /></RelativeLayout>
圖形介面如下:
在MainActivity.java代碼中為按鈕控制項設定單擊事件監聽,並彈出自訂的對話方塊:
MainActivity.java:
package com.example.demo091801;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn1 = (Button)findViewById(R.id.My_Dialog);btn1.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubAlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);LayoutInflater inflater = getLayoutInflater();View view = inflater.inflate(R.layout.my_dialog, null);builder.setTitle("登陸");builder.setView(view);builder.setPositiveButton("登陸", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}});AlertDialog dialog = builder.create();dialog.show();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
http://blog.csdn.net/lp310018931
android 自訂對話方塊