自定义视图中的java变量大小
我正在实现一个自定义视图,我希望能够在运行时更改其大小
简化问题:我需要在此视图中显示位图,但由于它经常刷新,我想扩展SurfaceView
问题是我失去了ImageView的自动调整大小功能
因此,我想声明一个方法setCustomBitmap(位图bmp),并根据位图的宽度和高度(保持纵横比)调整视图尺寸(此时或下次显示视图)
我应该用什么方法?我认为setWidth()和setHeight()不是最好的主意
你可以在下面搜索框中键入要查询的问题!
我正在实现一个自定义视图,我希望能够在运行时更改其大小
简化问题:我需要在此视图中显示位图,但由于它经常刷新,我想扩展SurfaceView
问题是我失去了ImageView的自动调整大小功能
因此,我想声明一个方法setCustomBitmap(位图bmp),并根据位图的宽度和高度(保持纵横比)调整视图尺寸(此时或下次显示视图)
我应该用什么方法?我认为setWidth()和setHeight()不是最好的主意
# 1 楼答案
由于您正在扩展SurfaceView,因此可能可以重写
onMeasure()
方法。传递给超类(通过super.onMeasure()
)的MeasureSpec实例将决定SurfaceView的大小。您可以使用位图的尺寸来进行每个测量例如: