一起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吧(第四百五十回:绘制彩虹)

一起Talk Android吧(第四百四十七回:UI控件之TimerPickerDialog)

一起Talk Android吧(第四百七十七回:平移类视图动画)

一起Talk Android吧(第四百七十七回:平移类视图动画)

一起Talk Android吧(第四百八十七回:值动画的代码实现方法)

一起Talk Android吧(第四百五十八回:SeekBar补充用法一)