2012-04-15 7 views
1

, когда я устанавливаю фон моего editText на «setBackgroundResource», все работает нормально. Когда я использую «setBackgroundDrawable» с тем же изображением он заканчивает растянуты ...Edittext background image

В результате с «setBackgroundResource» слева «setBackgroundDrawable» справа:

http://i.stack.imgur.com/yQi5n.jpg (жаль, что я не разрешается размещать изображения здесь ...)

код:

View chips = EditChipsActivity.this.findViewById(mydID); 
chips.setBackgroundResource(R.drawable.chips_filter); 

VS:

View chips = EditChipsActivity.this.findViewById(mydID); 
Bitmap bkg = ((BitmapDrawable) getResources().getDrawable(R.drawable.chips_filter)).getBitmap(); 
BitmapDrawable bkg = new BitmapDrawable(bkg); 
chips.setBackgroundDrawable(bkg); 

(я должен создать свою собственную битовую карту и использовать setBackgroundDrawable, потому что я хочу рисовать на фоне)

ответ

1

Попробуйте это:

View chips = (EditText) findViewById(R.id.editText1); 
    Bitmap bkg = ((BitmapDrawable) getResources().getDrawable(R.drawable.chips_filter)).getBitmap(); 
    BitmapDrawable bkgbt = new BitmapDrawable(getResources(),bkg); 
    chips.setBackgroundDrawable((Drawable) bkgbt); 

И ваш EditText:

<EditText 
     android:id="@+id/editText1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 
    </EditText> 

Я не, если это делать то, что вы хотите ....

+0

Отлично! Я просто добавляю «getResources()» в конструктор BitmapDrawable, и он работает. Он работает без «wrap_content». –

+0

Ok :) Как вы можете видеть здесь: http://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html#BitmapDrawable(android.graphics.Bitmap), конструктор BitmapDrawable (Bitmap bitmap) ' устарел ... – amp

+0

О да, это странное затмение не накладывало на него обычную желтую подчеркнутую. –