首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Studio - setBackground()

Android Studio - setBackground()
EN

Stack Overflow用户
提问于 2018-11-27 07:32:12
回答 1查看 449关注 0票数 1

当我创建一个TextView,并且设置大小时,我想使用setBackground或setBackgroundResource将背景设置为可绘制的,但是每当我这样做时,它都会改变背景的大小。但是,如果我在XML文件中创建一个视图,它就不会这样做。

代码语言:javascript
复制
Drawable drawable = getResources().getDrawable(R.drawable.gold_edged);
    mEventView.setBackground(drawable);
    mEventView.setLayoutParams(layoutParams);
    mEventView.setPadding(24,0,24,0);
    mEventView.setWidth(LayoutParams.MATCH_PARENT);
    mEventView.setHeight((int)(height*context.getResources().getDisplayMetrics().density));
    //mEventView.setBackgroundColor(Color.parseColor("#ffffff"));
    mEventView.setTextColor(Color.parseColor("#000000"));
    mEventView.setText(message);

这是代码,当setBackgroundColor没有被注释掉时,它会恢复到原来的大小,但我不想要那个颜色作为背景。

EN

回答 1

Stack Overflow用户

发布于 2018-11-27 07:52:47

我确信setWidth将以像素为单位的确切宽度作为参数,因此给它一个MATCH_PARENT会将宽度设置为0。如果您希望其宽度与父对象匹配,则应仅将其应用于其LayoutParams

代码语言:javascript
复制
layoutParams.width = LayoutParams.MATCH_PARENT;
mEventView.setLayoutParams(layoutParams);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53490656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档