drawable java什么意思_Java Drawable.draw方法代码示例

import com.badlogic.gdx.scenes.scene2d.utils.Drawable; //导入方法依赖的package包/类

@Override

public void draw(Batch batch, float parentAlpha) {

ProgressBarStyle style = this.style;

final Drawable bg = style.background;

final Drawable knobBefore = style.progress;

Color color = getColor();

float x = getX();

float y = getY();

float width = getWidth();

float height = getHeight();

float value = getVisualValue();

batch.setColor(color.r, color.g, color.b, color.a * parentAlpha);

if (vertical) {

bg.draw(batch, x + (int) ((width - bg.getMinWidth()) * 0.5f), y, bg.getMinWidth(), height);

float progressPosHeight = height - (bg.getTopHeight() + bg.getBottomHeight());

if (min != max) {

progressPos = (value - min) / (max - min) * progressPosHeight;

progressPos = Math.max(0, progressPos);

progressPos = Math.min(progressPosHeight, progressPos) + bg.getBottomHeight();

}

if (knobBefore != null) {

knobBefore.draw(batch, x + (int) ((width - knobBefore.getMinWidth()) * 0.5f), y, knobBefore.getMinWidth(),

(int) progressPos);

}

} else {

bg.draw(batch, x, y + (int) ((height - bg.getMinHeight()) * 0.5f), width, bg.getMinHeight());

float progressPosWidth = width - (bg.getLeftWidth() + bg.getRightWidth());

if (min != max) {

progressPos = (value - min) / (max - min) * progressPosWidth;

progressPos = Math.max(0, progressPos);

progressPos = Math.min(progressPosWidth, progressPos) + bg.getLeftWidth();

}

if (knobBefore != null) {

knobBefore.draw(batch, x, y + (int) ((height - knobBefore.getMinHeight()) * 0.5f), (int) progressPos,

knobBefore.getMinHeight());

}

}

super.draw(batch, parentAlpha);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值