Android 以编程方式更改启动屏幕颜色
我使用以下方法以编程方式更改初始屏幕颜色,但DrawableLayer的Android 以编程方式更改启动屏幕颜色,android,xamarin,drawable,oncreate,splash-screen,Android,Xamarin,Drawable,Oncreate,Splash Screen,我使用以下方法以编程方式更改初始屏幕颜色,但DrawableLayer的FindDrawableLayerById返回空值 protected override void OnCreate(Bundle bundleSavedInstanceState) { base.OnCreate(bundleSavedInstanceState); LayerDrawable layerDrawable = (Lay
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);
}
如果在oncreate方法中有如下线性或相对布局设置背景色,则可以将
图层列表
与
一起使用:
LinearLayout chglayout = (LinearLayout ) findViewById(R.layout.the_id);
chglayout.setBackgroundColor(Color.parseColor("#000000"));
我的问题由此解决:
<item name="android:windowDisablePreview">true</item>
true
我的意思是编程。请显示您的xmlfilesplashsscreen
文件,是否有任何错误?NullPointException?嗨,你的问题解决了吗?请出示您的xmlfilesplashsscreen
文件,好吗?所以我会帮助你。
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));
}
});