【问题标题】:Edittext background image编辑文本背景图片
【发布时间】:2012-04-15 21:25:53
【问题描述】:

当我使用“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,因为我想在背景上绘制)

【问题讨论】:

    标签: android


    【解决方案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>
    

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

    【讨论】:

    • 完美!我刚刚将“getResources()”添加到 BitmapDrawable 构造函数中,它就可以工作了。它也可以在没有“wrap_content”的情况下工作。
    • Ok:) 就像你可以在这里看到的:developer.android.com/reference/android/graphics/drawable/…,构造函数BitmapDrawable (Bitmap bitmap) 已弃用...
    • 哦,是的,奇怪的是日食没有在上面加上通常的黄色下划线。
    • 嘿@amp,当我尝试你的解决方案时,我得到了奇怪的效果。我的意思是,我试图将我的动画 gif 作为图像,但随后似乎图像在编辑文本中被拉伸。并且图像没有动画。那么如何克服这种情况呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 2018-07-02
    • 1970-01-01
    相关资源
    最近更新 更多