一起Talk Android吧(第四百五十七回:修改View的布局参数)
Posted talk_8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第四百五十七回:修改View的布局参数)相关的知识,希望对你有一定的参考价值。
文章目录
各位看官们大家好,上一回中咱们说的例子是"给View添加手势事件",这一回中咱们说的例子是" 修改View的布局参数"。闲话休提,言归正转,让我们一起Talk android吧!
使用背景
我们在项目中使用的布局参数是在xml布局文件中配置的,在程序运行前已经配置好,这种方式可以理解为静态配置,如果想在程序运行时修改布局的参数,就需要使用其它方法,本章回中将介绍这种修改方法,我们称这种修改方式为动态修改布局参数。 注意我们在这里说的布局主要是指ViewGroup,它是View的子类,可以泛称为View.
修改方法
- 1.获取布局参数对象;
- 2.修改参数对象中的布局属性;
- 3.把修改后的布局参数应用到布局中;
示例代码
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) getLayoutParams();
layoutParams.leftMargin = 20;
layoutParams.width = getWidth();
layoutParams.height = getHeight();
layoutParams.rightMargin =20;
setLayoutParams(layoutParams);
上面的代码中获取到View的布局参数后修改了左右两个边距,其它的内容没有修改。大家可以将其应用到自定义的View的代码中,比如将其放到onTouchEvent
()方法中,当有按下事件发生时就修改View的边距。我在这里就不演示了,大家可以自己动手实践。
关于上面的代码,我需要做一些详细的介绍,这样方便大家理解和应用这段代码。
- 1.代码中汲及到两个方法
getLayoutParams
()和setLayoutParams
(),它们都是View的方法,只要是View的子类都可以直接调用; - 2.代码中将布局参数类型转换为
LinearLayout
类型,这个可以依据布局实际的类型进行转换,不必拘泥于代码中的LinearLayout类型; - 3.布局的参数比较多,代码中只列出了边距和长度、宽度,大家可以依据自身项目的需求来修改布局中的参数,不必拘泥于代码中的参数;
看官们,关于"修改View的布局参数"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
以上是关于一起Talk Android吧(第四百五十七回:修改View的布局参数)的主要内容,如果未能解决你的问题,请参考以下文章
一起Talk Android吧(第四百四十七回:UI控件之TimerPickerDialog)
一起Talk Android吧(第四百七十七回:平移类视图动画)
一起Talk Android吧(第四百七十七回:平移类视图动画)