public abstract class ExtendedToolbarActivity extends AppCompatActivity {
public abstract int getLayoutId();
public static final String TAG = "Test";
ProgressDialog progressDialog;
@Nullable @BindView(R.id.progressbar)
ProgressBar progressBar;
@Nullable @BindView(R.id.tv_no_data)
TextView tvNoData;
@Nullable @BindView(R.id.view_blank)
View viewBlank;
@Nullable @BindView(R.id.toolbar)
Toolbar toolbar;
@Nullable @BindView(R.id.tv_toolbar_title)
TextView tvTitle;
@Nullable @BindView(R.id.progress_load_more)
ProgressBar progressLoadMore;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getLayoutId());
ButterKnife.bind(this);
setSupportActionBar(toolbar);
// getSupportActionBar().setDisplayShowTitleEnabled(true); }
public void setTitle(String title) {
if (tvTitle != null) {
tvTitle.setText(title);
}
if (getSupportActionBar() != null) {
getSupportActionBar().setTitle("");
}
}
public Toolbar getToolbar() {
if (toolbar != null) {
return toolbar;
}
return null;
}
/** * IT IS USED WHERE WE DON'T REQUIRE BACK BUTTON. */ public void setNavigationHomeAsUp() {
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
}
getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
onBackPressed();
}
});
}
public void setCustomNavigationHomeAsUp(boolean isAppIcon) {
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (isAppIcon) {
final Drawable upArrow = getResources().getDrawable(R.drawable.icon_logout);
upArrow.setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
} else {
getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
onBackPressed();
}
});
}
}
}
/** * IT IS USED WHERE WE DON'T REQUIRE BACK BUTTON. */ public void setNavigationHomeAsUp(boolean isVisible) {
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(isVisible);
getSupportActionBar().setHomeButtonEnabled(isVisible);
}
getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
onBackPressed();
}
});
}
public void hideToolbar() {
if (toolbar != null) {
toolbar.setVisibility(View.GONE);
}
}
public void startActivity(Intent intent) {
super.startActivity(intent);
AnimatorClass.appearLeftAnimation(this);
}
public void startActivityForResult(Intent intent, int requestCode) {
super.startActivityForResult(intent, requestCode);
AnimatorClass.appearLeftAnimation(this);
}
@Override public void onBackPressed() {
super.onBackPressed();
AnimatorClass.disappearLeftAnimation(this);
}
/** * Method for display snack bar * * @param context * @param message = SHOW CUSTOM MESSAGE **/
public void showSnackBar(Context context, String message) {
ViewGroup view = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);
Snackbar snackbar = Snackbar.make(view, "" + message, Snackbar.LENGTH_LONG).setActionTextColor(Color.RED);
ViewGroup viewGroup = (ViewGroup) snackbar.getView();
viewGroup.setBackgroundColor(ContextCompat.getColor(context, R.color.colorPrimary));
View viewTv = snackbar.getView();
TextView tv = (TextView) viewTv.findViewById(android.support.design.R.id.snackbar_text);
tv.setTextColor(ContextCompat.getColor(context, android.R.color.white));
// tv.setTextSize(21f); snackbar.show();
}
public void showActionSnackBar(Context context, String message, final RetryCallbackListener retryCallbackListener) {
ViewGroup view = (ViewGroup) ((ViewGroup) this.findViewById(android.R.id.content)).getChildAt(0);
Snackbar snackbar = Snackbar.make(view, "" + message, Snackbar.LENGTH_INDEFINITE).setActionTextColor(Color.RED)
.setActionTextColor(ContextCompat.getColor(context, android.R.color.black)).setAction("Retry", new View.OnClickListener() {
@Override public void onClick(View view) {
Log.e(TAG, "onClick: action click");
retryCallbackListener.Retry(true);
}
});
ViewGroup viewGroup = (ViewGroup) snackbar.getView();
viewGroup.setBackgroundColor(ContextCompat.getColor(context, R.color.colorPrimary));
View viewTv = snackbar.getView();
TextView tv = (TextView) viewTv.findViewById(android.support.design.R.id.snackbar_text);
tv.setTextColor(ContextCompat.getColor(context, android.R.color.white));
// tv.setTextSize(21f); snackbar.show();
}
/** * CHECK INTERNET CONNECTIVITY. * * @param context * @return */
public boolean IsInternetConnected(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo nInfo = connectivity.getActiveNetworkInfo();
if (nInfo != null) {
//do your thing if (nInfo.getType() == ConnectivityManager.TYPE_WIFI) {
// connected to wifi return true;
} else if (nInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
// connected to the mobile provider's data plan return true;
}
}
return false;
}
return false;
}
/** * SIMPLE DIALOG PROGRESS * * @param ctx */ public void showProgressDialog(Context ctx) {
progressDialog = ProgressDialog.show(ctx, "",
ctx.getResources().getString(R.string.str_please_wait), true, true);
}
public void showProgressDialog(Context ctx, boolean canCancel) {
progressDialog = ProgressDialog.show(ctx, "",
ctx.getResources().getString(R.string.str_please_wait), true, canCancel);
}
public void hideProgressDialog() {
if (progressDialog != null) {
progressDialog.dismiss();
}
}
/** * SHOW ERROR MESSAGE/NO INTERNET MESSAGE * * @param isInternet */ public void showErrorMessage(boolean isInternet) {
if (tvNoData != null) {
if (isInternet) {
tvNoData.setText(getResources().getString(R.string.msg_internet_error));
} else {
tvNoData.setText(getResources().getString(R.string.msg_no_data_found));
}
tvNoData.setVisibility(View.VISIBLE);
}
}
/** * SHOW CUSTOM MESSSAGE * * @param message */ public void showErrorMessage(String message) {
if (tvNoData != null) {
tvNoData.setVisibility(View.VISIBLE);
tvNoData.setText(message);
}
}
/** * HIDE ERROR MESSAGE */ public void hideErrorMessage() {
if (tvNoData != null) {
tvNoData.setVisibility(View.GONE);
}
}
/** * SHOW PROGRESS BAR */ public void showProgressbar() {
if (progressBar != null) {
progressBar.setVisibility(View.VISIBLE);
}
}
/** * HIDE PROGRESS BAR */ public void hideProgressbar() {
if (progressBar != null) {
progressBar.setVisibility(View.GONE);
}
}
/** * SHOW BLANK VIEW */ public void showBlankView() {
if (viewBlank != null) {
viewBlank.setVisibility(View.VISIBLE);
}
}
/** * HIDE BLANK VIEW */ public void hideBankView() {
if (viewBlank != null) {
viewBlank.setVisibility(View.GONE);
}
}
/** * SHOW BLANK VIEW */ public void showLoadMore() {
if (progressLoadMore != null) {
progressLoadMore.setVisibility(View.VISIBLE);
}
}
/** * HIDE BLANK VIEW */ public void hideLoadMore() {
if (progressLoadMore != null) {
progressLoadMore.setVisibility(View.GONE);
}
}
public boolean isProgressDialogVisible() {
if (progressDialog != null) {
if (progressDialog.isShowing())
return true;
}
return false;
}
}
<?xml version="1.0" encoding="utf-8"?><android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:minHeight="?attr/actionBarSize" app:layout_collapseMode="pin" app:theme="@style/ActionBarThemeOverlay">
<com.healthbanc.customviews.CustomTextViewFont android:id="@+id/tv_toolbar_title" style="@style/white_18" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" app:customTextFont="FONT_THIN" tools:text="Title" />
</android.support.v7.widget.Toolbar>
style
<!-- TOOLBAR STYLE--><style name="ActionBarThemeOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<!-- Color of Toolbar Font Color --> <item name="android:textColorPrimary">@android:color/white</item>
<!-- Color of Toolbar Action Buttons --> <item name="colorControlNormal">@android:color/white</item>
<!-- <item name="colorControlHighlight">@android:color/black</item> --></style>
Comments
Post a Comment