標籤:android android開發 xml layout
幾個常用的方法:
1.setTitle()
設定對話方塊顯示的標題。
2.setIcon()
設定對話方塊的表徵圖,值得注意的是,如果沒有使用setTitle()方法,setIcon()不會生效。
3.setMessage()
設定對話方塊顯示內容。
4.setPositiveButton()、setNegativeButton()、setNeutralButton()
設定對話方塊的按鈕。
5.setCancelable()
點擊對話方塊以外,對話方塊不會消失,按返回鍵對話方塊也不會消失。
提示對話方塊
示範執行個體:
MainActivity.java
public class MainActivity extends Activity {Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setMessage("這是一個提示框");builder.setIcon(R.drawable.icon);builder.setTitle("提示");builder.setPositiveButton("Positive",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {}});builder.setNegativeButton("Negative", new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}});builder.setNeutralButton("Neutral", new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}});builder.show();}}
activity_main.xml
<LinearLayout 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:orientation="vertical" tools:context="${relativePackage}.${activityClass}" > <Button android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="點擊" android:onClick="click"/></LinearLayout>
列表對話方塊
示範執行個體:
MainActivity.java
public class MainActivity extends Activity {Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);//builder.setMessage("我是提示對話方塊"); 設定setMessage後,setItems失效builder.setIcon(R.drawable.icon);builder.setTitle("提示");builder.setItems(new String[] { "one", "two", "three" },new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int index) {String str = null;switch (index) {case 0:str = "one";break;case 1:str = "two";break;case 2:str = "three";break;}Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();}});builder.show();}}
activity_main.xml
<LinearLayout 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:orientation="vertical" tools:context="${relativePackage}.${activityClass}" > <Button android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="點擊" android:onClick="click"/></LinearLayout>
單選列表對話方塊
示範執行個體:
MainActivity.java
public class MainActivity extends Activity {Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setIcon(R.drawable.icon);builder.setTitle("提示");builder.setSingleChoiceItems(new String[] { "one", "two", "three" }, 0,new OnClickListener() {@Overridepublic void onClick(DialogInterface arg0, int index) {String str = null;switch (index) {case 0:str = "one";break;case 1:str = "two";break;case 2:str = "three";break;}Toast.makeText(MainActivity.this, str,Toast.LENGTH_SHORT).show();}});builder.setPositiveButton("確認", null);builder.show();}}activity_main.xml
<LinearLayout 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:orientation="vertical" tools:context="${relativePackage}.${activityClass}" > <Button android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="點擊" android:onClick="click"/></LinearLayout>
複選列表對話方塊
示範執行個體:
MainActivity.java
public class MainActivity extends Activity {Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setIcon(R.drawable.icon);builder.setTitle("提示");final boolean[] items = new boolean[] { false, false, false };builder.setMultiChoiceItems(new String[] { "one", "two", "three" },items, new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface arg0, int arg1,boolean isCheaked) {}});builder.setPositiveButton("確認", null);builder.show();}}activity_main.xml
<LinearLayout 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:orientation="vertical" tools:context="${relativePackage}.${activityClass}" > <Button android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="點擊" android:onClick="click"/></LinearLayout>
自訂對話方塊
MainActivity.java
public class MainActivity extends Activity {Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("提示");builder.setIcon(R.drawable.icon);ImageView imageView = new ImageView(MainActivity.this);imageView.setImageResource(R.drawable.close);//擷取布局檔案View myView = this.getLayoutInflater().inflate(R.layout.form, null);builder.setView(myView);ListView listView = (ListView) myView.findViewById(R.id.lv);ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,new String[] { "1", "2", "3" });listView.setAdapter(adapter);listView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1,int positon, long arg3) {Toast.makeText(MainActivity.this,""+ positon, Toast.LENGTH_SHORT).show();}});builder.setPositiveButton("確認", null);builder.show();}}
activity_main.xml
<LinearLayout 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:orientation="vertical" tools:context="${relativePackage}.${activityClass}"> <Button android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="點擊" android:onClick="click"/> </LinearLayout>form.xml(對話方塊顯示的布局內容)
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/lv" android:layout_width="fill_parent" android:layout_height="fill_parent"></ListView> </LinearLayout>
android開發之AlertDialog