Android之inflate用法:加载其他layout
通俗的说,inflate就相当于将一个xml中定义的布局找出来
如果你的Activity里用到别的layout,如显示图片的对话框,其layout布局文件为view.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/image" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scaleType="fitCenter" /> </LinearLayout>你就必须用inflate()先将图片对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件,如:
// 加载view.xml界面布局代表的视图 View viewDialog = getLayoutInflater().inflate( R.layout.view, null); // 获取viewDialog中ID为image的组件 ImageView image = (ImageView) viewDialog .findViewById(R.id.image); // 设置image显示指定图片 image.setImageBitmap(BitmapFactory.decodeFile( fileNames.get(position))); // 使用对话框显示用户单击的图片 new AlertDialog.Builder(MediaProviderTest.this) .setView(viewDialog).setPositiveButton("确定", null) .show();
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。