下面我将详细的说明Demo的实现过程:1、新建一个 Android工程,我们命名为LayoutInflaterDemo.2、修改main.xml布局,里面主要在 原来基础上增加了一个Button.代码如下:
view plaincopy to clipboardprint?<?xml version="1.0"encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">
android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"/>
android:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="ShowCustomDialog"/>
3.定义对话框的布局方式,我们在layout目录下,新建一个名为 custom_dialog.xml文件具体代码如下:view plaincopy to clipboardprint?<?xml version="1.0"encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:padding="10dp">
4.修改主程序LayouInflaterDemo.java代码如下:view plaincopy to clipboardprint?packagecom.android.tutor;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.ImageView;importandroid.widget.TextView;publicclassLayoutInflaterDemoextendsActivityimplementsOnClickListener {privateButton button;publicvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(this);
}
@OverridepublicvoidonClick(View v) {
showCustomDialog();
}publicvoidshowCustomDialog()
{
AlertDialog.Builder builder;
AlertDialog alertDialog;
Context mContext=LayoutInflaterDemo.this;//下面俩种方法都可以LayoutInflater inflater = getLayoutInflater();LayoutInflater inflater=(LayoutInflater)
mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout=inflater.inflate(R.layout.custom_dialog,null);
TextView text=(TextView) layout.findViewById(R.id.text);
text.setText("Hello, Welcome to Mr Wei's blog!");
ImageView image=(ImageView) layout.findViewById(R.id.image);
image.setImageResource(R.drawable.icon);
builder=newAlertDialog.Builder(mContext);
builder.setView(layout);
alertDialog=builder.create();
alertDialog.show();
}
}5、最后执行之,点击Button,将得到上述效果。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ghd2000/archive/2010/05/11/5579930.aspx