android里的inflate的使用
2016-04-12 20:04
363 查看
今天做新浪客户端的Oauth授权页面时,看到课程里面讲到的inflate函数。
inflate简介:
通俗的说,inflate就相当于将一个xml中定义的布局找出来。
因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件。
因此如果你的Activity里如果用到别的layout。比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的 内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件。
View digView = View.inflate(this, R.layout.authorize_dialog, null);
//上面的digView可以看成是activity的布局,使用setContentView
//authorization_dialog是我建立的对话框的布局,包括下面代码里的样式等等定义。
dialog = new Dialog(this, R.style.auth_dialog);
dialog.setContentView(digView);
dialog.show();
实现的效果就是
图中的对话框的透明效果,文字,logo,按钮都是自定义样式。
inflate简介:
通俗的说,inflate就相当于将一个xml中定义的布局找出来。
因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件。
因此如果你的Activity里如果用到别的layout。比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的 内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件。
View digView = View.inflate(this, R.layout.authorize_dialog, null);
//上面的digView可以看成是activity的布局,使用setContentView
//authorization_dialog是我建立的对话框的布局,包括下面代码里的样式等等定义。
dialog = new Dialog(this, R.style.auth_dialog);
dialog.setContentView(digView);
dialog.show();
实现的效果就是
图中的对话框的透明效果,文字,logo,按钮都是自定义样式。
相关文章推荐
- 给Android开发者的RxJava
- Android中实现从SD卡的Gallery画廊带回图片
- Android多媒体--音视频播放
- 无需Root实现Android手机屏幕流畅投影到电脑进行演示(附软件下载)
- FaceBook推出的Android图片加载库-Fresco
- android异常处理——try、catch、finally、throw、throws
- android ContentProvider使用总结
- Android实现左滑退出Activity(完美封装)
- android broadcast使用总结分享
- px、pt、dp和 sp
- 判断 Android 设备是否已 ROOT
- java.lang.NoClassDefFoundError: * : Landroid/support/v7/gridlayout/R$styleable 异常终极解决办法
- Android自定义控件1
- Android(M) Telephony Framework SIM card recognization flow
- android6.0 adbd深入分析(二)adb驱动数据的处理、写数据到adb驱动节点
- AndroidStudio开发第一个JNI工程
- Android 如何判断一个应用在运行
- android jni编译配置DEBUG or RELEASE 的方法和优先级
- Android实现圆角边框
- AndroidStudio统计代码行数