在adnroid开发中我们会经常看到有的应用弹出的对话框是一个带有图片内容丰富的对话框。那么我们如何去实现它呢?在这里笔者给大家介绍一下。贴出代码如下,在代码里笔者将详细解释:
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageButton;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;
public class SelectImgActivity extends Activity {
private
ImageButton imgbtn_slkt;
//图片对话框:
private
Gallery gly_dkgshow;
private
ImageSwitcher imgswr_dkgshow;
private
Integer imgRes[] ={R.drawable.applications,
R.drawable.computer,R.drawable.documents,R.drawable.downloads,
R.drawable.explorer,R.drawable.favorites,R.drawable.finder,
R.drawable.folder,R.drawable.music,R.drawable.network};
//图片选择对话框中选中的数组下标
private int
slktNum=0;
@Override
public void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//初始化控件
imgbtn_slkt =(ImageButton)findViewById(R.id.imgbtn_slkt);
imgbtn_slkt.setOnClickListener(new ImageButton.OnClickListener()
{
@Override
public void
onClick(View v) {
//
弹出对话框显示选择图片
imgDlgInit().show();
}
});
}
//显示选择图片的对话框生成方法
private
AlertDialog imgDlgInit(){
//使用AlertDialog.builder开始构建对话框
AlertDialog.Builder dlgBuilder = new
AlertDialog.Builder(this);
//加载布局设置:没有?--->创建 有
-->继续
LayoutInflater inflatr =
LayoutInflater.from(this);
View view = inflatr.inflate(R.layout.imgdlg,
null);
//取得该视图下的控件需要使用 view.findViewById(R.id.xxxx);
//添加显示图片选择功能
//初始化imgdlg布局中的控件:一定要到view取,view对应的布局是R.layout.imgdlg
gly_dkgshow
=(Gallery)view.findViewById(R.id.gly_dkgshow);
imgswr_dkgshow
=(ImageSwitcher)view.findViewById(R.id.imgswr_dkgshow);
//给画廊设置适配器
gly_dkgshow.setAdapter(new BaseAdapter() {
@Override
public View
getView(int position, View convertView, ViewGroup parent) {
//
在画廊中的ImageView--关联--图片资源
ImageView
imgView = new ImageView(SelectImgActivity.this);
//设置图片
imgView.setImageResource(imgRes[position%imgRes.length]);
//自适应大小
imgView.setAdjustViewBounds(true);