Вам нужен пользовательский BitmapDrawable, который возвращает 0 от getMinimumHeight () и getMinimumWidth (). Вот один из них, который я назвал BitmapDrawableNoMinimumSize, который выполняет эту работу:
import android.content.res.Resources;
import android.graphics.drawable.BitmapDrawable;
public class BitmapDrawableNoMinimumSize extends BitmapDrawable {
public BitmapDrawableNoMinimumSize(Resources res, int resId) {
super(res, ((BitmapDrawable)res.getDrawable(resId)).getBitmap());
}
@Override
public int getMinimumHeight() {
return 0;
}
@Override
public int getMinimumWidth() {
return 0;
}
}
Конечно, вы не можете (AFAIK) объявлять настраиваемые элементы рисования в XML, поэтому вам нужно создать и настроить фоновый вид текста таким образом:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
BitmapDrawable bmpd =new BitmapDrawableNoMinimumSize(getResources(), R.drawable.tile);
bmpd.setTileModeX(TileMode.REPEAT);
bmpd.setTileModeY(TileMode.REPEAT);
findViewById(R.id.textView).setBackgroundDrawable(bmpd);
}
И, конечно, вы удаляете атрибут background из макета xml:
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Testing testing testing"
android:textColor="#000000" />
Я проверил это, и похоже, что оно работает.