android自定义组件 MyView,怎样设定它的背景资源?(MyView继承View)

 我来答
lllwwwllwwlw
推荐于2016-09-28 · TA获得超过295个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:118万
展开全部
既然是继承View的 可以在XML布局里面直接设置背景。
<com.android.widget.MyView
android:id="@+id/myview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background" //设置背景
android:layout_marginTop="11px"
android:layout_marginLeft="506px"/>

如果想在代码里面设置背景,结合上面的XML文件:
private MyView mView;
mView = (MyView) findViewById(R.id.myview);
mView.setBackgroundResource(R.drawable.background);

如果想在自定义控件的代码中直接设置背景,需要先在构造函数中获取背景图片,然后在 onDraw中画背景图片。
mBackGround = ((BitmapDrawable) this.getResources().getDrawable(R.drawable.background)).getBitmap(); //获取背景图片

Paint mPaint = new Paint();
canvas.drawBitmap(mBackGround, 0, 0, mPaint); //画背景图片
微软皇帝
2011-09-27 · TA获得超过741个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:555万
展开全部
在layout布局文件中设置,或者你可以findByID把控件找出来,然后用代码设置属性。
追问
你好!谢谢你的回答~
public class MainView extends View{
void setBgLogo(){
MainView mView = new MainView(getContext());
mView.setBackgroundResource(R.drawable.logo);
mView.setKeepScreenOn(true);
}
}
这样可以吗?貌似运行不行呀还是黑色一片
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式