您的位置:首页 > 移动开发 > Android开发

【android】add image in alertdialog

2011-12-23 17:17 155 查看
2011-08-28

my first android app---- 摇摇乐 第一版即将问世

这周总算做了点事情,为结果页增加了icon和pic

总结一下

问题: 为AlertDialog 增加图片,图片个数按照结果对象个数对应显示

查阅 AlertDialog sdk 发现比较好的方法是建立FrameLayout 然后在里边增加imageview,最后 set 到 dialog属性里

但 FrameLayout 怎么建立,费了一些周折才弄出来,不能在同一个activity的layout里增加framelayout

会出现the specified child all ready has a parent 这样的错误

需要新建个 propalterdialog.xml 单独定义并安放layout,再调用 LayoutInflater 将这个布局换到当前layout里显示

FrameLayout的xml里可以什么不定义ImageView标签

用framelayout的上下文 动态生成image

但出现个问题 framelayout里的图片会重叠,使用 LinearLayout则正常 xml里设置 android:orientation="horizontal" 按行去布局,将图片放在一行

以下是用到的所有代码

LayoutInflater factory = LayoutInflater.from(DemoActivity.this);
LinearLayout fl = (LinearLayout) factory.inflate(R.layout.propalterdialog,null);
int size = selectionList.size();
for(Selection sel:selectionList){
ImageView imageView = new ImageView(fl.getContext());
imageView.setLayoutParams(new FrameLayout.LayoutParams(190/size, 190/size, 100));
int image_id = DemoActivity.this.getResources().getIdentifier(sel.getPicture(), "drawable",
"com.netqin.android.lab");
imageView.setImageResource(image_id);
fl.addView(imageView);
}

new AlertDialog.Builder(DemoActivity.this).setTitle("result")
.setIcon(R.drawable.result_icon)
.setView(fl)
.setMessage(result).setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐