有些时候需要动态设置控件的宽高,比如我就遇到了一个设置titleBar右侧图片的宽高的问题,解决方法如下,直接上代码
title_bar_video_main_fragment.ivRight.run {
layoutParams.width = DisplayUtil.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24f)
layoutParams.height = DisplayUtil.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24f)
minimumHeight = 0
minimumWidth = 0
scaleType = ImageView.ScaleType.FIT_CENTER
(layoutParams as? LinearLayout.LayoutParams)?.gravity = Gravity.CENTER
(layoutParams as? LinearLayout.LayoutParams)?.rightMargin = 36
}
设置的宽是24dp,高是24dp,距离右侧边距12dp
布局的代码如下
<com.ytx.appframework.widget.TitleBar
android:id="@+id/title_bar_video_main_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:ytx_title="视频中心"
app:ytx_left_show="text"
app:ytx_left_text="自选股"
app:ytx_right_show="icon"
app:ytx_right_icon="@mipmap/ic_contact"/>