我正在尝试在图像视图中创建一个可绘制的矩形。
val backgroundRect = GradientDrawable()
backgroundRect.shape = GradientDrawable.RECTANGLE
backgroundRect.setBounds(0,0, 100, 100)
backgroundRect.setStroke(5, Color.parseColor("#585858"))
backgroundRect.setColor(Color.parseColor("#FF9009"))
val image = ImageView(context)
image.layoutParams = ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.WRAP_CONTENT, ConstraintLayout.LayoutParams.WRAP_CONTENT)
image.setImageDrawable(backgroundRect)
rootView.addView(image)
问题是如果我将ImageView
布局参数设置为WRAP_CONTENT
那么什么都不显示,但是如果我将参数设置为image.layoutParams = ConstraintLayout.LayoutParams(100, 100)
那么ImageView
显示。我尝试使用 xml 创建可绘制的矩形,如果我将其设置在那里,图像仍会显示。
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/dummyRectangle"/>
我是否需要始终指定 layout params 变量还是有其他方法来设置它?
只需为您设置一个尺寸 GradientDrawable
backgroundRect.setSize(100,100);
因为您的视图还没有大小。当您使用 wrap_content 时,您没有任何要包装的内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句