Android之LayoutInflater
(一)LayoutInflater简介
LayoutInflater最重要的功能就是将XML文件实例化为View对象,可以通过getSystemService(Context.LAYOUT_INFLATER_SERVICE)或getLayoutInflater()或的LayoutInflater对象,通过inflate方法来载入layout的xml。
(二)代码实现
MainActivity代码
packagecom.example.mydialog;importjava.util.ArrayList;importjava.util.HashMap;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.LayoutInflater;importandroid.view.Menu;importandroid.view.View;importandroid.widget.ImageView;importandroid.widget.TextView;publicclassMainActivityextendsActivity{privateArrayList<HashMap<String,Object>>listItem;protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);showCustomDialog();}publicvoidshowCustomDialog(){AlertDialog.Builderbuilder;AlertDialogalertDialog;ContextmContext=MainActivity.this;LayoutInflaterinflater=(LayoutInflater)mContext.getSystemService(LAYOUT_INFLATER_SERVICE);Viewlayout=inflater.inflate(R.layout.mydialog,null);TextViewtext=(TextView)layout.findViewById(R.id.text);text.setText("LayoutInflater妙用");ImageViewp_w_picpath=(ImageView)layout.findViewById(R.id.p_w_picpath);p_w_picpath.setImageResource(R.drawable.albums);builder=newAlertDialog.Builder(mContext);builder.setView(layout);alertDialog=builder.create();alertDialog.show();}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;}}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_toRightOf="@id/p_w_picpath"android:layout_centerVertical="true"android:textColor="#000000"/></RelativeLayout>
效果图
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。