我在FrameLayout中使用自定义视图lyricView。它运作良好,在正常情况下:制作自定义视图以编程方式支持更改LayoutParams
出于某种原因,我想lyricview可以显示两种尺寸,单线规模和全屏size.I上的FrameLayout注册一个OnClickListener所以用户可以两者之间切换大小通过点击窗口。所以,我试图改变的LayoutParams程序。
点击之前(单线模式)
布局文件
<io.hefuyi.listener.widget.LyricView android:id="@+id/lyric_view" android:layout_marginTop="55dp" android:layout_width="match_parent" android:layout_height="32dp" android:layout_gravity="center" android:visibility="visible"/>
抒情效果很好
点击(全屏模式)
代码段后
FrameLayout.LayoutParams lyricLayout = (FrameLayout.LayoutParams) lyricView.getLayoutParams(); lyricLayout.height = FrameLayout.LayoutParams.MATCH_PARENT; lyricLayout.topMargin = DensityUtil.dip2px(mContext, 55); lyricLayout.bottomMargin = iconContainer.getHeight(); lyricView.setLayoutParams(lyricLayout); isLyricFullScreen = true;
变化layoutparameters不行
显然,我无法更改歌词布局失败,因为如果歌词正常工作,歌词将被画在屏幕的中心。
那么,如何让lyricView支持以编程方式更改LayoutParams?