我使用以下方式以编程方式更改初始屏幕颜色,但DrawableLayer的FindDrawableLayerById
返回空值。
protected override void OnCreate(Bundle bundleSavedInstanceState)
{
base.OnCreate(bundleSavedInstanceState);
LayerDrawable layerDrawable = (LayerDrawable)ContextCompat.GetDrawable(this, Resource.Drawable.XMLFileSplashScreen);
GradientDrawable gradientDrawable = (GradientDrawable)layerDrawable.FindDrawableByLayerId(Resource.Id.itemSplashScreenColor);
gradientDrawable.SetColor(Resource.Color.Blue);
}
答案 0 :(得分:0)
您可以layer-list
使用<item android:drawable=”@color/colorPrimary” />
,如here
答案 1 :(得分:0)
如果您在oncreate方法中设置了线性或相对布局背景颜色:
LinearLayout chglayout = (LinearLayout ) findViewById(R.layout.the_id);
chglayout.setBackgroundColor(Color.parseColor("#000000"));
答案 2 :(得分:0)
我的问题解决了这个问题:
321
答案 3 :(得分:-1)
final FrameLayout frm = (FrameLayout)findViewById(R.id.FramId);
frm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
frm.setBackgroundColor(getResources().getColor(R.color.colorEndBlue));
}
});