3

当我用“setBackgroundResource”设置我的editText的背景时,一切正常。当我对相同的图像使用“setBackgroundDrawable”时,它最终会被拉伸......

左侧为“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 因为我想在背景上绘制)

4

1 回答 1

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>

如果这做你想要的,我不是......

于 2012-04-15T13:20:44.277 回答