android開發之AlertDialog

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.