我有一個應用程序,我必須在需要的整個應用程序中顯示SnackBar消息,爲此我創建了一個名爲「CSnackBar」的類並定義了Snackbar實現,並在需要的活動中調用此方法。我的問題是這是正確的方式,從內存的角度來看,或者我可以定義一個使用接口來代替,如果是,那麼這將如何以及什麼會影響應用程序的平滑度。對於「CSnackBar」類在類中定義方法和實現接口並在android中重寫它的方法有什麼區別?
private static CSnackBar s_m_oCSnackBar;// declare snack bar variable
public static CSnackBar getInstance() {// creating Instance of nack bar
if (s_m_oCSnackBar == null) {
s_m_oCSnackBar = new CSnackBar();
}
return s_m_oCSnackBar;
}
public void showSnackBarError(View v, String message, Context context) {// parametrised constructor
Snackbar snack = Snackbar.make(v, "" + message, Snackbar.LENGTH_SHORT);
View view = snack.getView();
TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
tv.setTextColor(Color.WHITE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
tv.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
else
tv.setGravity(Gravity.CENTER_HORIZONTAL);
ColoredSnackbar.alert(snack).show();
}
public void showSnackBarSuccess(View v, String message, Context context) {
Snackbar snack = Snackbar.make(v, "" + message, Snackbar.LENGTH_SHORT);
View view = snack.getView();
TextView tv = (TextView) view.findViewById(android.support.design.R.id.snackbar_text);
tv.setTextColor(Color.WHITE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
tv.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
else
tv.setGravity(Gravity.CENTER_HORIZONTAL);
ColoredSnackbar.confirm(snack).show();
}
和我打電話的活動小吃店這樣,我需要證明小吃吧消息
代碼。
CSnackBar.getInstance().showSnackBarError(m_MainLayout, "Invalid Password", getApplicationContext());
哪一個是內存 – Sandeep
方面更好的上述兩者都將是相同的。認爲第一個更適合您的需求 –