通过代码向删除xml布局文件中的控件
var edit_layout:LinearLayout = binding.editLayout
//这个index是列表的下标,例如edit_layout内部有三个控件 删除第一个就removeViewAt(0),注意不要数组越界
edit_layout.removeViewAt(index)
通过代码向xml布局文件中新增控件
var userHeadImageGroup = binding.userHeadImage
var head:ImageView = ImageView(context)
head.setImageResource(R.drawable.ic_icons_filled_me)
head.layoutParams = ViewGroup.LayoutParams(dpToPx(context, 53f), dpToPx(context, 53f))
holder.userHeadImageGroup.addView(head)
px转pd&pd转px
在需要动态修改控件的宽高时就会用到px转pd的情况
例如修改 LinearLayout 的宽度。
edit_layout.layoutParams.width = dpToPx(context , 84F)
/**
* 根据手机的分辨率从 dp(相对大小) 的单位 转成为 px(像素)
*/
fun dpToPx(context: Context, dpValue: Float): Int {
// 获取屏幕密度
val scale: Float = context.getResources().getDisplayMetrics().density
// 结果+0.5是为了int取整时更接近
return (dpValue * scale + 0.5f).toInt()
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp(相对大小)
*/
fun pxToDp(context: Context, pxValue: Float): Int {
val scale = context.resources.displayMetrics.density
return (pxValue / scale + 0.5f).toInt()
}
隐藏导航条
在 MainActivity onCreate 方法里面
supportActionBar?.hide()