1

我创建一个自定义视图并将选择器添加到我的自定义视图。选择器的作品,但背景延伸全宽和高度。背景必须显示我画的内容。 的完整代码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); 
    } 
} 

现在正常状态:

Now normal state

现在按下状态:

Now pressed state

必须是:

Must be

回答

0

你正在做的是先画圈,然后在它上面绘制一个你的drawable。圆圈在drawable下面,所以你看不到它。这个圆也是每次都以相同的颜色画出来的,它并没有从drawable中抽取出来。

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

+0

我添加了Drawable,因为它是我的情况中的一个退出。我想用选择器创建自定义视图。 – Viacheslav

相关问题