当前位置:  开发笔记 > Android > 正文

如何改变小吃店的背景颜色?

如何解决《如何改变小吃店的背景颜色?》经验,为你挑选了7个好方法。

我在DialogFragment中显示snackbar在alertDialog的正面点击中.这是我的代码片段.

Snackbar snackbar = Snackbar.make(view, "Please enter customer name", Snackbar.LENGTH_LONG)
                .setAction("Action", null);
View sbView = snackbar.getView();
sbView.setBackgroundColor(Color.BLACK);
snackbar.show();

你可以看到我的小吃店背景颜色显示白色

我正在将对话片段的视图传递给快餐栏.我想要背景颜色为黑色?我怎样才能做到这一点?我在DialogFragment中返回alertDialog.我正在设置对话框的主题如下


虽然我将背景颜色设置为白色以进行对话,但是应该通过将背景颜色设置为快餐栏来覆盖它.



1> Dusan Dimitr..:

尝试设置背景颜色如下:

sbView.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.BLACK));

它将100%工作!


你可能需要做`snackBarView.getView().setBackgrondColor(ContextCompat.getColor(getActivity(),R.color.BLACK));`

2> Zubair Akber..:

你可以这样做

Snackbar snackbar;
snackbar = Snackbar.make(view, "Message", Snackbar.LENGTH_SHORT);
View snackBarView = snackbar.getView();
snackBarView.setBackgroundColor(yourColor);
TextView textView = (TextView) snackBarView.findViewById(android.support.design.R.id.snackbar_text);
textView.setTextColor(textColor);
snackbar.show();



3> 4emodan..:

如果要为所有Snackbars定义背景颜色,只需覆盖design_snackbar_background_color资源中的某个值即可.例如:

@color/colorPrimaryLight



4> Kailas Bhaka..:

Bellow代码对于更改消息的文本颜色很有用.

Snackbar snackbar = Snackbar.make(rootView, "Enter Your Message",Snackbar.LENGTH_SHORT);
View view = snackbar.getView();
TextView tv = (TextView)view.findViewById(android.support.design.R.id.snackbar_text);
tv.setTextColor(Color.RED);
snackbar.show();

第二种方式:您也可以通过改变活动主题来改变颜色.



5> Phil..:

Kotlin版(带扩展名):

在文件中创建(例如SnackbarExtension.kt)扩展名:

fun Snackbar.withColor(@ColorInt colorInt: Int): Snackbar{
   this.view.setBackgroundColor(colorInt)
   return this
}

接下来,在您的Activity/Fragment中,您将能够执行此操作:

Snackbar
  .make(coordinatorLayout, message, Snackbar.LENGTH_LONG)
  .withColor(YOUR_COLOR)
  .show()



6> shadowsheep..:

由于没有其他答案提供自定义样式覆盖(我认为这样做是更安全的更新方式之一),因此我在此处发布了解决方案。

我发布了一个已经解决了新AndroidXsupport design 28)主题的解决方案。

前提是你的应用程序中使用自定义它们卡莱MyAppThemeAndroidManifest.xml


创建(如果还没有)values/style.xml覆盖应用程序使用的主题的文件:





并在values/colors.xml文件中提供颜色



    #008577
    #00574B
    #D81B60
    #D81B60


这是最干净,最好的解决方案

7> Nouman Ghaff..:

现在为时已晚,万一有人仍然需要帮助.这是工作解决方案.

      Snackbar snackbar = Snackbar.make(mainView, text, Snackbar.LENGTH_LONG);
    View snackBarView = snackbar.getView();
    snackBarView.setBackgroundColor(context.getResources().getColor(R.color.btn_background_color));
    snackbar.show();

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有