我有一个LayerDrawable,它应该显示5位图。 1个背景和4个图标(对于每个LayerDrawable可以不同),就像Grid一样。不幸的是,这些图标的高度不一样。我的问题是调整它们的大小,同时保持它们的比例,并把他们自己的位置内(1-4图标,5背景):如何在Android中的LayerDrawable中调整大小和位置Drawables
==================
| | | |
| 1 | | 2 |
|------.5 .------|
|------. .------|
| 3 | | 4 |
| | | |
==================
如果我调整这些位图,给他们Gravity.CENTER
,他们将再也装不下内背景矩形的界限。如果我离开Gravity.CENTER
,他们似乎会在我拨打layerDrawable.setLayerInset(numlayer, left, top, right, bottom)
后重新调整比例。 什么是正确的做法?我如何在正确放置它们的同时保持它们的比例? 到目前为止,我还无法理解的是,为什么来自BitmapDrawable的getIntrinsicWidth/Height从原始位图返回比getWidth/Height更小的东西。
我试过的:
1.从XML中获取它们,在里面放置一个“虚拟绘制”并用上述结果替换它。 2.在我的程序里面创建LayerDrawable,在里面传递所有的drawable。似乎setLayerInset没有影响,或者我只看到背景(这是元素0我绘制对象数组内)
3.扩展LayerDrawable并试图跟踪任何东西自己没有合理的结果