【问题标题】:How can add selector to custom view?如何将选择器添加到自定义视图?
【发布时间】:2013-12-26 07:27:39
【问题描述】:

我创建了一个自定义视图并将选择器添加到我的自定义视图中。选择器可以工作,但背景会拉伸整个宽度和高度。背景必须显示我画的东西。 完整代码http://pastebin.com/dmF6DiP8

@Override
protected void onDraw(Canvas canvas)
{
    Log.d(TAG, "init onDraw");
    if (canvas != null && mDrawable != null)
    {
        mDrawable.setState(getDrawableState());

        canvas.drawCircle(mWidth / 2, mHeight / 2, mRadius, mBackgroundPaint);

        mDrawable.draw(canvas);
    }
}

现在正常状态:

现在按下状态:

必须是:

【问题讨论】:

    标签: android android-custom-view android-drawable android-selector


    【解决方案1】:

    你正在做的是先画圆,然后在上面画一个你的drawable。圆圈位于可绘制对象下方,因此您看不到它。圆圈也每次都用相同的颜色绘制,它根本没有从可绘制对象中取出。

    您需要做的是根据选择器状态将颜色应用于圆形,并删除在画布上绘制可绘制对象的调用。

    【讨论】:

    • 我添加了 Drawable,因为它是我的一个出口。我想用选择器创建自定义视图。
    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多