android自定义组件 MyView,怎样设定它的背景资源?(MyView继承View)
展开全部
既然是继承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); //画背景图片
<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); //画背景图片
展开全部
在layout布局文件中设置,或者你可以findByID把控件找出来,然后用代码设置属性。
追问
你好!谢谢你的回答~
public class MainView extends View{
void setBgLogo(){
MainView mView = new MainView(getContext());
mView.setBackgroundResource(R.drawable.logo);
mView.setKeepScreenOn(true);
}
}
这样可以吗?貌似运行不行呀还是黑色一片
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询