FrameLayoutでカスタムビューlyricViewを使用しています。これは、通常の場合にはうまく機能:いくつかの理由LayoutParamsの変更をプログラムでサポートするためのカスタムビューの作成
、私はlyricviewは2つのサイズでshowすることができたい、単一ラインサイズとフルスクリーンsize.Iユーザーが2つの間で切り替えることができるようで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のレイアウトを変更することができません。なぜなら、それが動作すれば歌詞は画面の中央に描画されるからです。
したがって、lyricViewをLayoutParamsの変更をプログラムでサポートする方法を教えてください。