Java Android如何在Canvas.drawColor中使用文本输入
我有两个问题你也许可以帮我,我是编程新手,这可能很容易,但我找了几天的答案,都没能找到。我正在做一个简单的android应用程序,你在一个纯文本字段中输入一个十六进制数,当你点击一个按钮时,画布就会被创建,你会看到画布上十六进制数的颜色(例如:0xff000000,你会得到黑色)不幸的是,我无法将字符串作为整数变量使用到Canvas.drawcolor()中,有人能告诉我如何正确执行此操作,和/或我所做的操作出错的原因吗 我的第二个问题是,在创建画布时,如何使画布显示,而不使我的按钮和文本字段从布局中消失 这是我的代码,我创建了toast以查看是否正确获取字符串:Java Android如何在Canvas.drawColor中使用文本输入,java,android,eclipse,string,android-canvas,Java,Android,Eclipse,String,Android Canvas,我有两个问题你也许可以帮我,我是编程新手,这可能很容易,但我找了几天的答案,都没能找到。我正在做一个简单的android应用程序,你在一个纯文本字段中输入一个十六进制数,当你点击一个按钮时,画布就会被创建,你会看到画布上十六进制数的颜色(例如:0xff000000,你会得到黑色)不幸的是,我无法将字符串作为整数变量使用到Canvas.drawcolor()中,有人能告诉我如何正确执行此操作,和/或我所做的操作出错的原因吗 我的第二个问题是,在创建画布时,如何使画布显示,而不使我的按钮和文本字段从
public class MainActivity extends Activity implements TextWatcher{
private Bitmap mBitmap;
private Canvas mCanvas;
private ImageView mImageView;
private EditText mHexadecimal;
private String comments;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHexadecimal = (EditText) findViewById(R.id.Hexadecimal);
mHexadecimal.addTextChangedListener(this);
}
public void onClick(View v) {
mBitmap = Bitmap.createBitmap(300, 300, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
comments = mHexadecimal.getText().toString();
Toast.makeText(getApplicationContext(), comments,Toast.LENGTH_LONG).show();
mCanvas.drawColor(Integer.parseInt(comments,16));
mImageView = new ImageView(this);
mImageView.setImageBitmap(mBitmap);
setContentView(mImageView);
}
好吧,你可以试着做这样的事情:
String color = "#FCFC0000"; //this is your color string
int colorCode = Integer.parseInt(string.replaceFirst("^#",""), 16);
然后尝试在mCanvas
中设置此颜色代码