在 androidx 中更改 snackbar 字体
Changing snackbar typeface in androidx
在迁移到 androidx 之前,我使用此代码更改了 snackbar 文本的字体:
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 之后,我收到 snackbar_text id android.support.design.R.id.snackbar_text
的错误,它说 Cannot resolve symbol design
。
而且我还在使用新的设计库com.google.android.material:material:1.0.0
有什么帮助吗?
使用com.google.android.material.R.id.snackbar_text
。
您已迁移到 AndroidX,这意味着库现在有所不同。因此,您引用的 R
需要来自新库而不是旧库。
就这样参考新的设计库 -
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"));
在迁移到 androidx 之前,我使用此代码更改了 snackbar 文本的字体:
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 之后,我收到 snackbar_text id android.support.design.R.id.snackbar_text
的错误,它说 Cannot resolve symbol design
。
而且我还在使用新的设计库com.google.android.material:material:1.0.0
有什么帮助吗?
使用com.google.android.material.R.id.snackbar_text
。
您已迁移到 AndroidX,这意味着库现在有所不同。因此,您引用的 R
需要来自新库而不是旧库。
就这样参考新的设计库 -
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"));