/**
   * add new tab with title text
   *
   * @param title title text
   */
  public void addTab(CharSequence title) {
    int layoutId = getLayoutId(type);
    TextView tv = (TextView) inflater.inflate(layoutId, tabWidget, false);
    tv.setText(title);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      // tv.setBackgroundResource(R.drawable.mth_tab_widget_background_ripple);

    } else {
      // create background using colorControlActivated
      StateListDrawable d = new StateListDrawable();
      d.addState(
          new int[] {android.R.attr.state_pressed}, new ColorDrawable(colorControlActivated));
      d.setAlpha(180);
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        tv.setBackgroundDrawable(d);
      } else {
        tv.setBackgroundDrawable(d);
      }
    }

    int tabId = tabWidget.getTabCount();

    addTab(newTabSpec(String.valueOf(tabId)).setIndicator(tv).setContent(android.R.id.tabcontent));
  }
  public void setBackgroundDrawable(KrollDict d, Drawable drawable) {
    StateListDrawable stateDrawable = new StateListDrawable();

    // use transparent highlight so the selector drawable is visible over background
    ColorDrawable transparent = new ColorDrawable(Color.TRANSPARENT);
    stateDrawable.addState(
        new int[] {
          android.R.attr.state_window_focused,
          android.R.attr.state_enabled,
          android.R.attr.state_pressed
        },
        transparent);
    stateDrawable.addState(new int[] {android.R.attr.state_selected}, transparent);

    stateDrawable.addState(
        new int[] {
          android.R.attr.state_focused,
          android.R.attr.state_window_focused,
          android.R.attr.state_enabled
        },
        drawable);
    stateDrawable.addState(new int[0], drawable);

    if (d.containsKey(TiC.PROPERTY_OPACITY)) {
      stateDrawable.setAlpha(Math.round(TiConvert.toFloat(d, TiC.PROPERTY_OPACITY) * 255));
    }
    setBackgroundDrawable(stateDrawable);
  }
  /**
   * add new tab with specified view
   *
   * @param view tab view
   */
  public void addTab(View view) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      // view.setBackgroundResource(R.drawable.mth_tab_widget_background_ripple);

    } else {
      // create background using colorControlActivated
      StateListDrawable d = new StateListDrawable();
      d.addState(
          new int[] {android.R.attr.state_pressed}, new ColorDrawable(colorControlActivated));
      d.setAlpha(180);
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        view.setBackgroundDrawable(d);
      } else {
        view.setBackgroundDrawable(d);
      }
    }

    int tabId = tabWidget.getTabCount();

    addTab(
        newTabSpec(String.valueOf(tabId)).setIndicator(view).setContent(android.R.id.tabcontent));
  }