在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于 findViewById()。 不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体 widget控件(如:Button,TextView等)。 为了让大家容易理解我做了一个简单的Demo,主布局main.xml里有一个TextView和一个Button,当点击Button,出现 Dialog,而这个Dialog的布局方式是我们在layout目录下定义的custom_dialog.xml文件(里面左右分布,左边 ImageView,右边TextView)。 java代码: <?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\" > <TextView android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\" android:text=\"@string/hello\" /> <Button android:id=\"@+id/myButton\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"ShowCustomDialog\"/> </LinearLayout> //custom_dialog.xml <?xml version=\"1.0\" encoding=\"utf-8\"?> <TextView android:id=\"@+id/text\" android:layout_width=\"wrap_content\" java代码: import android.app.Activity; public class Activity01 extends Activity implements OnClickListener{ @Override
LayoutInflater inflater = (LayoutInflater)mContext.getSystemServic(LAYOUT_INFLATER_SERVICE); image.setImageResource(R.drawable.icon); |