在androidx中更改snackbar字体

时间:2019-02-01 07:52:11

标签: android androidx android-snackbar

在迁移到androidx之前,我使用以下代码更改了快餐栏文本的字体:

Snackbar snackbar = Snackbar.make(main_Coordinator, "No Connection", Snackbar.LENGTH_INDEFINITE);
                View view = snackbar.getView();
                TextView textView = view.findViewById(android.support.design.R.id.snackbar_text);
                textView.setTypeface(Typeface.createFromAsset(getAssets(), "Shabnam.ttf"));

但是,在迁移到androidx之后,我得到了一块便餐栏ID android.support.design.R.id.snackbar_text的错误消息,它说Cannot resolve symbol design

我也正在使用新的设计库com.google.android.material:material:1.0.0

有帮助吗?

2 个答案:

答案 0 :(得分:3)

只需参考这样的新设计库-

Snackbar snackbar = Snackbar.make(main_Coordinator, "No Connection", Snackbar.LENGTH_INDEFINITE);
            View view = snackbar.getView();
            TextView textView = view.findViewById(com.google.android.material.R.id.snackbar_text);
            textView.setTypeface(Typeface.createFromAsset(getAssets(), "Shabnam.ttf"));

答案 1 :(得分:2)

使用com.google.android.material.R.id.snackbar_text

您已迁移到AndroidX,这意味着库现在有所不同。因此,您要引用的R必须来自新库,而不是旧库。