gpt4 book ai didi

android - 将 snackbar 放在 Utility 类中

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:13 24 4
gpt4 key购买 nike

我经常使用这种方法来显示带有应用程序中使用的颜色的 snackbar 消息。出于这个原因,我想使该方法成为静态方法并将其放在最后一个实用程序类中,这样我就可以在所有地方使用它而不必每次都重复它。

但是,这有一个问题,即 findViewByIdgetResources().getColor 等需要一个 Activity 来“生存”并且也不能是静态的。

有什么优雅的方法可以做到这一点?我一直在查看其他帖子,但没有一个能完全反射(reflect)这个问题。谢谢!!

    protected void displaySnackbar (String s)
{
Snackbar snack = Snackbar.make(findViewById(android.R.id.content), s, Snackbar.LENGTH_LONG);
View sbview = snack.getView();
sbview.setBackgroundColor(ContextCompat.getColor(this, R.color.colorAccent));
TextView textView = (TextView) sbview.findViewById(android.support.design.R.id.snackbar_text);
textView.setTextColor(getResources().getColor(R.color.primary_light));
snack.show();
}

最佳答案

把这个方法放在你想显示 snackbar 的地方,并在那个类中传递相应的参数

protected void displaySnackbar (View view,String s)
{
Snackbar snack = Snackbar.make(view, s, Snackbar.LENGTH_LONG);
View sbview = snack.getView();
sbview.setBackgroundColor(ContextCompat.getColor(this, R.color.colorAccent));
TextView textView = (TextView) sbview.findViewById(android.support.design.R.id.snackbar_text);
textView.setTextColor(getResources().getColor(R.color.primary_light));
snack.show();
}

关于android - 将 snackbar 放在 Utility 类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37611517/

24 4 0