title: Create Image from imageview and textview?
body: <p>I'm making an app that will allow the user to add a photo to an imageview from the gallery of their phone which I have already been able to code successfully. I now want to be able to allow the user to add text on top of the photo and then save the text and image as one back into the gallery. Is there any way to do this?</p>
  
  <p>XML:</p>
  
  <pre><code>  &lt;LinearLayout 
      android:layout_height="match_parent" 
      android:layout_width="match_parent" 
      android:orientation="vertical" 
      xmlns:android="http://schemas.android.com/apk/res/android"&gt;
      &lt;ImageView android:id="@+id/image" android:layout_height="400dp" android:layout_width="fill_parent"/&gt;
      &lt;LinearLayout 
          android:layout_height="fill_parent" 
          android:layout_width="fill_parent" 
          android:orientation="horizontal"&gt;
          &lt;Button 
              android:id="@+id/chooseimage" 
              android:layout_height="fill_parent" 
              android:layout_weight="1" 
              android:layout_width="fill_parent" 
              android:text="Choose Image"/&gt;
          &lt;Button 
              android:id="@+id/addtext" 
              android:layout_height="fill_parent" 
              android:layout_weight="1" 
              android:layout_width="fill_parent" 
              android:text="Add Text"/&gt;
          &lt;Button 
              android:id="@+id/save" 
              android:layout_height="fill_parent" 
              android:layout_weight="1" 
              android:layout_width="fill_parent" 
              android:text="Save"/&gt;
      &lt;/LinearLayout&gt;
  &lt;/LinearLayout&gt;  
  </code></pre>
  
  <p>Member.java</p>
  
  <pre><code>public class MemberActivity extends Activity implements OnClickListener {
      /**
       * Called when the activity is first created.
       */
  
      private static final int SELECT_IMAGE = 1;
      Button openGallery;
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.design);
          openGallery = (Button) findViewById(R.id.chooseimage);
          openGallery.setOnClickListener(this);
  
      }
  
      public void onClick(View v) {
          // TODO Auto-generated method stub
          switch (v.getId()) {
              case R.id.chooseimage:
                  Intent gallery = new Intent(
                          Intent.ACTION_PICK,
                          android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
                  startActivityForResult(gallery, SELECT_IMAGE);
                  break;
              default:
                  break;
          }
      }
  
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
  
          if (resultCode == RESULT_OK &amp;&amp; requestCode == SELECT_IMAGE) {
              Uri selectedImage = data.getData();
              String path = getPath(selectedImage);
              Bitmap bitmapImage = BitmapFactory.decodeFile(path);
              ImageView image = (ImageView) findViewById(R.id.image);
              image.setImageBitmap(bitmapImage);
          }
      }
  
      public String getPath(Uri uri) {
          String[] filePathColumn = {MediaStore.Images.Media.DATA};
  
          Cursor cursor = getContentResolver().query(uri, filePathColumn, null, null, null);
          cursor.moveToFirst();
          int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
  
          return cursor.getString(columnIndex);
      }
  }
  </code></pre>