我知道在java中调用方法是什么,在问题之前,我非常了解Java语法。我知道java中的 this 是什么,但我不知道,如何在 MainActivity中调用以下代码。的java
public void onDraw(Canvas canvas) {
paint.setColor(Color.BLUE);
canvas.drawCircle(120,120,40,paint);
}
现在。我把完整的代码:
MainActivity.java
public class MainActivity extends Activity {
Draw draw;
Cal cal;
TextView textView;
RelativeLayout linearLayout;
public void onCreate(Bundle s) {
super.onCreate(s);
setContentView(R.layout.activity_main);
linearLayout = (RelativeLayout) findViewById(R.id.t);
cal = new Cal(this);
cal.cal();
textView = new TextView(getApplicationContext());
textView.setText("" + cal.result);
textView.setTextColor(Color.RED);
draw = new Draw(this);
linearLayout.addView(textView);
linearLayout.addView(draw);
}
}
Cal.java
public class Cal extends View {
Cal(Context context){
super(context);
}
public double result;
double parameter = (Math.pow(40,2)) * 3.14;
public void cal(){
result = Math.sqrt(parameter);
}
}
Draw.java
public class Draw extends View {
Paint paint = new Paint();
Draw(Context context) {
super(context);
}
public void onDraw(Canvas canvas) {
paint.setColor(Color.BLUE);
canvas.drawCircle(120,120,40,paint);
}
}
public void cal(){ result = Math.sqrt(parameter);
}由MainActivity中的cal.cal();
调用但我不知道,如何调用
public void onDraw(Canvas canvas) {
paint.setColor(Color.BLUE);
canvas.drawCircle(120,120,40,paint);
}
MainActivity.java 中的?
在 MainActivity.java 中,我们只有draw = new Draw(this);
来调用 Draw.java
Draw(Context context) {super(context);}
答案 0 :(得分:0)
你的Draw类扩展了android类View。
您正在onCreateMethod()中添加一个视图布局:
linearLayout.addView(draw);
Android将在渲染视图时调用绘图对象中的onDraw()方法。