Here's something similar to what I'm trying to achieve (see image). I have the delete button (on the right) working, so I know how to add the buttons. But how can I shift the text to leave room for the button on the left?

Here's something similar to what I'm trying to achieve (see image). I have the delete button (on the right) working, so I know how to add the buttons. But how can I shift the text to leave room for the button on the left?

You can do something like this
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center_vertical" >
<EditText
android:id="@+id/editText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="30dp"
android:paddingRight="30dp" />
<ImageView
android:id="@+id/leftImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="5dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/rightImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="5dp"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
</RelativeLayout>
Instead of ImageViews you can use Buttons or any other View. Also adjust the margins and paddings according to your need.