canvas教程

Android编程实现支持拖动改变位置的图片中叠加文字功能示例(2)

字号+ 作者:H5之家 来源:H5之家 2017-02-28 15:02 我要评论( )

为了演示这个操作,我们需要两个 Activity : MainActivity 和 OtherActivity ,在 MainActivity 中通过 Intent 启动 OtherActivity ,并获得 OtherActivity 结束后返回的结果,例子仅作演示,为了方便,我直接在 J

为了演示这个操作,我们需要两个 Activity : MainActivity 和 OtherActivity ,在  MainActivity 中通过 Intent 启动 OtherActivity ,并获得 OtherActivity  结束后返回的结果,例子仅作演示,为了方便,我直接在 Java 文件中定义了控件,就不写布局文件了。

MainActivity.java

 

 代码如下 复制代码

packagenet.conw.intenttest;

 

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.LinearLayout;

 

publicclassMainActivityextendsActivityimplementsView.OnClickListener {

 

 privateEditText editText;

 privateButton button;

 publicstaticintREQUEST_CODE =1;

 

 @Override

 protectedvoidonCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

 

  LinearLayout layout =newLinearLayout(this);

  editText =newEditText(this);

  button =newButton(this);

  button.setText("Main");

  button.setOnClickListener(this);

 

  layout.addView(editText);

  layout.addView(button);

  setContentView(layout);

 }

 

 @Override

 publicvoidonClick(View v) {

  Intent intent =newIntent(this, OtherActivity.class);

  intent.putExtra("text", editText.getText().toString());

  startActivityForResult(intent, REQUEST_CODE);

 }

 

 @Override

 protectedvoidonActivityResult(intrequestCode,intresultCode, Intent data) {

  super.onActivityResult(requestCode, resultCode, data);

  if(requestCode == REQUEST_CODE && resultCode == OtherActivity.RESULT_CODE) {

   editText.setText(data.getStringExtra("text"));

  }

 }

}

 

OtherActivity.java

 

 代码如下 复制代码

packagenet.conw.intenttest;

 

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.LinearLayout;

 

publicclassOtherActivityextendsActivityimplementsView.OnClickListener {

 

 privateEditText editText;

 privateButton button;

 publicstaticintRESULT_CODE =1;

 

 @Override

 protectedvoidonCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

 

  LinearLayout layout =newLinearLayout(this);

  editText =newEditText(this);

  button =newButton(this);

  button.setText("Other");

  button.setOnClickListener(this);

 

  layout.addView(editText);

  layout.addView(button);

  setContentView(layout);

 

  editText.setText(getIntent().getStringExtra("text"));

 }

 

 @Override

 publicvoidonClick(View v) {

  Intent intent =newIntent();

  intent.putExtra("text", editText.getText().toString());

  setResult(RESULT_CODE, intent);

  finish();

 }

}

 

整个代码的执行逻辑如下:

1、两个 Activity 的代码就是这样的, 当 MainActivity 中的 Button 被触发onClick()事件后,把 MainActivity 中的 EditText 的内容发给了 OtherActivity 。

2、OtherActivity 打开并初始化好控件后,把 EditText 的内容设置为 MainActivity 发过来的内容。

3、当 OtherActivity 中的 Button 被触发onClick()事件后,把 OtherActivity 中的 EditText 的内容返回给 MainActivity。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Android倾斜、描边、自定义字体的TextView

    Android倾斜、描边、自定义字体的TextView

    2017-02-26 11:03

  • Android中圆角矩形和圆形的多种实现方式

    Android中圆角矩形和圆形的多种实现方式

    2017-02-24 12:03

  • 【自定义控件系列一】android画图类---Canvas浅谈

    【自定义控件系列一】android画图类---Canvas浅谈

    2017-02-24 09:55

  • 搭建qt for android环境

    搭建qt for android环境

    2017-02-22 12:04

网友点评