What I end up doing is to use scenario 1 NinePatch (Stretch is bigger then Padding - which I didn't want)
and set up the padding zone manually, with this code:
NinePatchDrawable ninepatch;
Bitmap image = BitmapFactory.decodeResource(getResources(),R.drawable.ninepatch_background);
if (image.getNinePatchChunk()!=null){
byte[] chunk = image.getNinePatchChunk();
Rect paddingRectangle = new Rect(30, 0, 30, 50);
ninepatch = new NinePatchDrawable(getResources(), image, chunk, paddingRectangle, null);
}
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
linLayout.setBackgroundDrawable(ninepatch);
} else {
linLayout.setBackground(ninepatch);
}