2012-05-25 3 views
0

У меня есть класс B, который расширяет View, и я вызываю это из класса A, который расширяет Activity через setContentView. В классе B я могу нарисовать что угодно, используя мышиные прослушиватели движения и функции рисования. Теперь я хочу добавить кнопку в свой класс B, чтобы я мог перейти в класс A и внести некоторые изменения. Я пробовал некоторые коды, но это не сработало.Как добавить кнопку в класс, который расширяет представление в Android?

public class MotionDraw extends View { 
    private Paint paint = new Paint(); 
    private Path path = new Path(); 
    //LinearLayout ll=new LinearLayout(getContext()); 


    public MotionDraw(Context context, AttributeSet attrs,int x) { 
     super(context, attrs); 

     //this.setOrientation(LinearLayout.VERTICAL); 
     //Button b=new Button(getContext()); 
     //b.setText("Back"); // better: getContext().getString(R.string.someString); 
     //this.addView(b); 

       paint.setAntiAlias(true); 
       paint.setAntiAlias(true); 
     paint.setStrokeWidth(6f); 
     //paint.setColor(Color.RED); 
     paint.setStyle(Paint.Style.STROKE); 
     paint.setStrokeJoin(Paint.Join.MITER); 
     if(x == 1) 
      paint.setColor(Color.RED); 
     } 

    @Override 
    protected void onDraw(Canvas canvas) { 


     canvas.drawPath(path, paint); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 

      some code ... 
     } 

     // Schedules a repaint. 
     invalidate(); 
     return true; 
    } 

} 

ответ

0

Для MotionDraw попробуйте расширить RelativeLayout вместо View.

+0

Когда я расширяю его до RelativeLayout, я не могу ничего нарисовать на экране или холсте. – user1407990

Смежные вопросы