Android:点击我的视图时如何绘制边框

时间:2011-11-24 01:14:02

标签: android

我有一些观点,如:

private class MyViewCircle extends View {

        public MyViewCircle(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }

        @Override
        protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
            super.onDraw(canvas);
            Paint paint = new Paint();
            paint.setAntiAlias(true);
            paint.setColor(Color.RED);
            canvas.drawCircle(50, 50, 50, paint);
        }

    }

并添加到我的LinearLayout

LinearLayout img01 = (LinearLayout) findViewById(R.id.img01);
img01.addView(myViewCircle);

来自我的XML

<LinearLayout android:layout_width="fill_parent"
                       android:layout_height="fill_parent"
                       android:layout_weight="1"
                       android:background="#C07BD1"
                       android:id="@+id/img01"/>

如果单击此视图,我想生成边框(表示用户选择此视图)。如果用户再次单击,边框将消失。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

你看过StateList drawable吗?基本上你做的是做两个圆圈,一个没有边框,一个有边框。然后使用StateList告诉LinearLayout在某些条件下使用哪一个(即点击而不是点击)。