I know this is already late, but hopefully this will help others.
1) Ask your designer for a repeatable image that you can use for the background. I see no reason why it could not be aligned. To make a drawing, make an xml file of type drawable for each of the generic dpi folders. Put this code in the xml file:
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:dither="true" android:src="@drawable/piece_of_the_background_that_can_be_repeated" android:tileMode="repeat" />
Set the background image to this XML file.
2) Set the 9patch image as the button background and use this custom textView for the text. Use the innerShadow attribute to get the shadow effect created by your designer.
source share