如何将活动类中的数据发送到自定义视图类我已编写以下程序? 我正在使用此程序选择颜色,然后使用OnTouchListener进行整形。拜托,您能否详细介绍我如何完成这项任务。提前谢谢你 活动类
package com.easyway2win;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private Button butnPink;
@Override
protected void onCreate(Bundle savedInstanceState) {
butnPink = (Button)findViewById(R.id.pinkColor);
super.onCreate(savedInstanceState);
/* MyViewActivity mv = new MyViewActivity(this);*/
setContentView(R.layout.activity_main);
}
public void clickMe(View view){
int intColor = 0;
String hexColor = null;
switch(view.getId()){
case R.id.pinkColor:
intColor = getResources().getColor(R.color.pink);
// hexColor = String.format("#%06X", (0xFFFFFF & intColor));
// Log.d("Hi", "I am pink color code " + hexColor);
break;
case R.id.blueColor:
intColor = getResources().getColor(R.color.blue);
// hexColor = String.format("#%06X", (0xFFFFFF & intColor));
// Log.d("Hi", "I am Blue color " + hexColor);
break;
case R.id.squaretool:
Log.i("Hi","I am square");
}
hexColor = String.format("#%06X", (0xFFFFFF & intColor));
Log.d("Hi", "I am color code " + hexColor );
}// end [ clickMe method ]
PaintView paintView = new PaintView();
}
自定义视图类
package com.easyway2win;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;
public class PaintView extends View {
private Paint paint;
public PaintView(Context context) {
super(context);
//context.getResources().getColor(Color.parseColor()) // I don't know how to do it coding
}
public PaintView(Context context, AttributeSet attrs ){
super(context, attrs);
}
public PaintView(Context context, AttributeSet attrs, int defStyle/*Context context, Rect rectangle, Paint paint*/) {
super(context,attrs,defStyle);
// this.rectangle = rectangle;
// this.paint = paint;
}
public void setColour(String colour){
// need code here
}
@Override
protected void onDraw(Canvas canvas) {
/* canvas.drawRect(rectangle,paint);*/
}
}
答案 0 :(得分:0)
有多种方法可以实现您的目标。但是创建一个包含全局变量的类来保存颜色并在必要时调用它对于您的场景来说是一个很好的方法。 检查this question以获取有关如何从类或活动创建和访问全局变量的更多信息。