Android之自定义AlertDialog的实现方法(一)
(一)Dialog简介
Dialog是Android开发中需要经常使用的系统组件之一,AlertDialog可以显示一个、两个等多个按钮,使用setMessage()方法可以只显示字符串提示信息,当然用户也可以自定义自己的AlertDialog。
构造方法
更改主题
2. 常用方法
(二)代码实现
MainActivity代码
packagecom.example.mydialog;importjava.util.ArrayList;importjava.util.HashMap;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.Menu;importandroid.widget.ListAdapter;importandroid.widget.SimpleAdapter;publicclassMainActivityextendsActivity{privateArrayList<HashMap<String,Object>>listItem;protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);openDialog();}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;}publicvoidopenDialog(){newAlertDialog.Builder(MainActivity.this).setTitle("自定义Dialog").setIcon(R.drawable.albums).setAdapter(getAdaper(),newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){//TODOAuto-generatedmethodstub//获取选中项的内容Log.d("测试",listItem.get(which).get("ItemManager").toString());}}).show();}publicListAdaptergetAdaper(){listItem=newArrayList<HashMap<String,Object>>();HashMap<String,Object>map1=newHashMap<String,Object>();map1.put("ImageManager",R.drawable.compose);map1.put("ItemManager","录入");listItem.add(map1);HashMap<String,Object>map2=newHashMap<String,Object>();map2.put("ImageManager",R.drawable.camera);map2.put("ItemManager","拍照");listItem.add(map2);HashMap<String,Object>map4=newHashMap<String,Object>();map4.put("ImageManager",R.drawable.delete1);map4.put("ItemManager","删除");listItem.add(map4);SimpleAdapterlistItemAdapter=newSimpleAdapter(this,listItem,R.layout.mydialog,newString[]{"ImageManager","ItemManager"},newint[]{R.id.p_w_picpath,R.id.text});returnlistItemAdapter;}}mydialog.xml文件<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="horizontal"android:gravity="center_vertical"><ImageViewandroid:id="@+id/p_w_picpath"android:layout_width="38dp"android:layout_height="38dp"/><TextViewandroid:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_centerVertical="true"android:textColor="#000000"/></RelativeLayout>
效果如下:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。