Android 布局参数对象LayoutParam的使用
来源:互联网 发布:安装sql server 2008 编辑:程序博客网 时间:2024/06/10 01:51
有时候我们需要在代码中动态的改变一个组件的宽高等属性来满足我们的需求, 例如: app中每个界面在请求网络后获取到了空数据, 这个时候我们就要显示相应的布局, 但是如果要显示不同的空布局, 那么就不能简单地写到父类布局中了,应该有子类自己来实现;
1.第一种情况: 改变已有布局文件某个组件的宽高
先举个栗子:
TextView tv = (TextView) findViewById(R.id.tv); RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) tv.getLayoutParams();params.height = 100;params.width = 100;tv.setLayoutParams(params);
布局文件 :
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="cn.xianzaishi.rxjava.MainActivity"> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="300dp" android:background="#ff4400" android:text="Hello World!" /></RelativeLayout>
如果find的是framlayout的话, 就可以清除某一个布局, 在把自己想要加的布局添加进入就可以了; framlayout有2个方法, 一个是移除所有view, 一个是移除一个指定view;
2 代码中new出某个组件并设置宽高
我们的需求是给framlayout中动态添加一个组件;ImageView imageView = new ImageView(getApplicationContext());imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);FrameLayout.LayoutParams params = new FrameLayout.LayoutPar (FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT);imageView.setLayoutParams(params);imageView.setImageResource(R.mipmap.guide1);imageView.setVisibility(View.VISIBLE);flContainer.addView(imageView);e
note: FrameLayout.LayoutParams params = new FrameLayout.LayoutParams (FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT);这行代码在你开始new 的时候并不是这样的, 而为什么要用FrameLayout约束呢?这是因为在获取布局参数对象的时候都要根据这个组件的上一个父组件获取;至于什么时候new,什么时候不new? 取决于这个组件是不是从布局文件中获取的, 是的话就是view.getLayoutParam,否的话就是new布局参数;
0 0
- Android 布局参数对象LayoutParam的使用
- Android 4.4系统下LayoutParam使用
- Android自定义ViewGroup中LayoutParam的应用
- 解决Android中LayoutParam宽高的单位设置问题
- 布局参数的使用
- Android的布局对象
- ClassCastException android.view.viewgroup.$layoutParam
- Android LayoutInflater的到View后丢失LayoutParam信息的问题
- android 布局方式的参数说明
- Android布局文件参数layout_alignTop的作用
- android布局和布局参数
- 自定义view的LayoutParam gravity layout_gravity
- view的坐标体系及LayoutParam
- android布局参数详解
- android:布局参数
- Android之布局参数
- android布局参数详解
- Android 布局参数
- 【Java并发编程】之十一:线程间通信中notify通知的遗漏(含代码)
- HDU 5492 Find a path
- 【Java并发编程】之十二:线程间通信中notifyAll造成的早期通知问题(含代码)
- 用户行为分析笔记(二):系统的整体架构
- Android 属性大全
- Android 布局参数对象LayoutParam的使用
- 重写Spring的PropertyPlaceholderConfigurer,从数据库加载配置数据
- 人脸识别--人脸识别技术综述
- Rabbitmq unack过多处理
- Codeforces Round #371 (Div. 2)B. Filya and Homework
- iOS10配置须知
- HDU 1754 单点更新 区间求和 zkw线段树 + 递归线段树
- lightoj 1110 - An Easy LCS (LCS输出路径)
- [Javascript]对象数组排序