Bru*_*Lee 5 android view android-widget
我创建了一个扩展android.view.View,覆盖draw()并在屏幕上显示的对象.为了让你进入图片,它是一个数字显示,代表一个游戏分数.它正确地水平显示,然而,它占据了屏幕的整个高度 - 将所有其他元素推离屏幕.
我已经放入layout_height="wrap_content"了xml,但它没有效果.
有谁知道我做错了什么?
我已经弄清楚了......
我应该覆盖onDraw(),但这不是导致问题的原因.
最重要的是,我需要覆盖onMeasure(),如下所示:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(DIGIT_WIDTH * getNumberOfDigits(), DIGIT_HEIGHT);
}
Run Code Online (Sandbox Code Playgroud)
DIGIT_WIDTH并且DIGIT_HEIGHT是设置为我使用的每个数字图像的尺寸的常数.getNumberOfDigits()只是xml属性中自定义属性集的getter.
希望能帮助其他人遇到这个问题.