/** setup components and load to UI */
  private void setupTextView() {
    getView().setFrame(new CGRect(0, 0, 320, 460));
    textView = new UITextView(getView().getFrame());
    textView.setTextColor(UIColor.colorBlack());
    textView.setFont(UIFont.getFont("Arial", 18.0));
    textView.setDelegate(
        new UITextViewDelegateAdapter() {
          @Override
          public void didBeginEditing(UITextView textView) {
            Selector saveAction = Selector.register("saveAction");
            UIBarButtonItem saveItem =
                new UIBarButtonItem(UIBarButtonSystemItem.Done, null, saveAction);
            saveItem.setTarget(TextViewController.this);
            getNavigationItem().setRightBarButtonItem(saveItem);
          }
        });
    textView.setBackgroundColor(UIColor.colorWhite());
    textView.setAutoresizingMask(
        UIViewAutoresizing.FlexibleWidth.set(UIViewAutoresizing.FlexibleHeight));

    String textToAdd =
        "Now is the time for all good developers to come to serve their country.\n\nNow is the time for all good developers to come to serve their country.\r\rThis text view can also use attributed strings.";
    NSMutableAttributedString attrString = new NSMutableAttributedString(textToAdd);
    attrString.addAttribute(
        UIKit.ForegroundColorAttributeName(),
        UIColor.colorRed(),
        new NSRange(textToAdd.length() - 19, 19));
    attrString.addAttribute(
        UIKit.ForegroundColorAttributeName(),
        UIColor.colorBlue(),
        new NSRange(textToAdd.length() - 23, 3));
    attrString.addAttribute(
        UIKit.UnderlineStyleAttributeName(),
        NSNumber.valueOf(1l),
        new NSRange(textToAdd.length() - 23, 3));
    this.textView.setAttributedText(attrString);

    textView.setReturnKeyType(UIReturnKeyType.Default);
    textView.setKeyboardType(UIKeyboardType.Default);
    textView.setScrollEnabled(true);
    textView.setAutocorrectionType(UITextAutocorrectionType.No);

    getView().addSubview(textView);
  }
  private void configureCustomBackgroundSegmentedControl() {
    customBackgroundSegmentedControl.setSelectedSegment(2);

    // Set the background images for each control state.
    UIImage normalSegmentBackgroundImage = UIImage.getImage("stepper_and_segment_background");
    customBackgroundSegmentedControl.setBackgroundImage(
        normalSegmentBackgroundImage, UIControlState.Normal, UIBarMetrics.Default);

    UIImage disabledSegmentBackgroundImage =
        UIImage.getImage("stepper_and_segment_background_disabled");
    customBackgroundSegmentedControl.setBackgroundImage(
        disabledSegmentBackgroundImage, UIControlState.Disabled, UIBarMetrics.Default);

    UIImage highlightedSegmentBackgroundImage =
        UIImage.getImage("stepper_and_segment_background_highlighted");
    customBackgroundSegmentedControl.setBackgroundImage(
        highlightedSegmentBackgroundImage, UIControlState.Highlighted, UIBarMetrics.Default);

    // Set the divider image.
    UIImage segmentDividerImage = UIImage.getImage("stepper_and_segment_segment_divider");
    customBackgroundSegmentedControl.setDividerImage(
        segmentDividerImage, UIControlState.Normal, UIControlState.Normal, UIBarMetrics.Default);

    // Create a font to use for the attributed title (both normal and
    // highlighted states).
    UIFontDescriptor captionFontDescriptor =
        UIFontDescriptor.getPreferredFontDescriptor(UIFontTextStyle.Caption1);
    UIFont font = UIFont.getFont(captionFontDescriptor, 0);

    NSAttributedStringAttributes normalTextAttributes =
        new NSAttributedStringAttributes().setForegroundColor(Colors.PURPLE).setFont(font);
    customBackgroundSegmentedControl.setTitleTextAttributes(
        normalTextAttributes, UIControlState.Normal);

    NSAttributedStringAttributes highlightedTextAttributes =
        new NSAttributedStringAttributes().setForegroundColor(Colors.GREEN).setFont(font);
    customBackgroundSegmentedControl.setTitleTextAttributes(
        highlightedTextAttributes, UIControlState.Highlighted);

    customBackgroundSegmentedControl.addOnValueChangedListener(this);
  }