Example usage for android.graphics Paint UNDERLINE_TEXT_FLAG

List of usage examples for android.graphics Paint UNDERLINE_TEXT_FLAG

Introduction

In this page you can find the example usage for android.graphics Paint UNDERLINE_TEXT_FLAG.

Prototype

int UNDERLINE_TEXT_FLAG

To view the source code for android.graphics Paint UNDERLINE_TEXT_FLAG.

Click Source Link

Document

Paint flag that applies an underline decoration to drawn text.

Usage

From source file:com.evandroid.musica.fragment.LyricsViewFragment.java

public void update(Lyrics lyrics, View layout, boolean animation) {

    TextSwitcher textSwitcher = ((TextSwitcher) layout.findViewById(R.id.switcher));
    LrcView lrcView = (LrcView) layout.findViewById(R.id.lrc_view);
    View v = getActivity().findViewById(R.id.tracks_msg);
    if (v != null)
        ((ViewGroup) v.getParent()).removeView(v);

    TextView id3TV = (TextView) layout.findViewById(R.id.id3_tv);
    RelativeLayout bugLayout = (RelativeLayout) layout.findViewById(R.id.error_msg);
    this.mLyrics = lyrics;
    if (SDK_INT >= ICE_CREAM_SANDWICH)
        beamLyrics(lyrics, this.getActivity());
    new PresenceChecker().execute(this, new String[] { lyrics.getArtist(), lyrics.getTrack(),
            lyrics.getOriginalArtist(), lyrics.getOriginalTrack() });

    if (isActiveFragment)
        ((RefreshIcon) getActivity().findViewById(R.id.refresh_fab)).show();
    EditText newLyrics = (EditText) getActivity().findViewById(R.id.edit_lyrics);
    if (newLyrics != null)
        newLyrics.setText("");

    if (lyrics.getFlag() == Lyrics.POSITIVE_RESULT) {
        if (!lyrics.isLRC()) {
            textSwitcher.setVisibility(View.VISIBLE);
            lrcView.setVisibility(View.GONE);
            if (animation)
                textSwitcher.setText(Html.fromHtml(lyrics.getText()));
            else/* www  .  j av a2s.  c o m*/
                textSwitcher.setCurrentText(Html.fromHtml(lyrics.getText()));
        } else {
            textSwitcher.setVisibility(View.GONE);
            lrcView.setVisibility(View.VISIBLE);
            lrcView.setOriginalLyrics(lyrics);
            lrcView.setSourceLrc(lyrics.getText());
            updateLRC();
        }

        bugLayout.setVisibility(View.INVISIBLE);
        if ("Storage".equals(lyrics.getSource()))
            id3TV.setVisibility(View.VISIBLE);
        else
            id3TV.setVisibility(View.GONE);
        mScrollView.post(new Runnable() {
            @Override
            public void run() {
                mScrollView.scrollTo(0, 0); //only useful when coming from localLyricsFragment
                mScrollView.smoothScrollTo(0, 0);
            }
        });
    } else {
        textSwitcher.setText("");
        textSwitcher.setVisibility(View.INVISIBLE);
        lrcView.setVisibility(View.INVISIBLE);
        bugLayout.setVisibility(View.VISIBLE);
        int message;
        int whyVisibility;
        if (lyrics.getFlag() == Lyrics.ERROR || !OnlineAccessVerifier.check(getActivity())) {
            message = R.string.connection_error;
            whyVisibility = TextView.GONE;
        } else {
            message = R.string.no_results;
            whyVisibility = TextView.VISIBLE;
            updateSearchView(false, lyrics.getTrack(), false);
        }
        TextView whyTextView = ((TextView) bugLayout.findViewById(R.id.bugtext_why));
        ((TextView) bugLayout.findViewById(R.id.bugtext)).setText(message);
        whyTextView.setVisibility(whyVisibility);
        whyTextView.setPaintFlags(whyTextView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
        id3TV.setVisibility(View.GONE);
    }
    stopRefreshAnimation();
    getActivity().getIntent().setAction("");
    getActivity().invalidateOptionsMenu();
}

From source file:com.geecko.QuickLyric.fragment.LyricsViewFragment.java

@SuppressLint("SetTextI18n")
public void update(Lyrics lyrics, View layout, boolean animation) {
    File musicFile = null;//from   ww w .ja  v  a 2s  .  co  m
    Bitmap cover = null;
    if (PermissionsChecker.hasPermission(getActivity(), "android.permission.READ_EXTERNAL_STORAGE")) {
        musicFile = Id3Reader.getFile(getActivity(), lyrics.getOriginalArtist(), lyrics.getOriginalTrack());
        cover = Id3Reader.getCover(getActivity(), lyrics.getArtist(), lyrics.getTitle());
    }
    setCoverArt(cover, null);
    boolean artCellDownload = Integer.valueOf(
            PreferenceManager.getDefaultSharedPreferences(getActivity()).getString("pref_artworks", "0")) == 0;
    if (cover == null)
        new CoverArtLoader().execute(lyrics, this.getActivity(),
                artCellDownload || OnlineAccessVerifier.isConnectedWifi(getActivity()));
    getActivity().findViewById(R.id.edit_tags_btn).setEnabled(true);
    getActivity().findViewById(R.id.edit_tags_btn)
            .setVisibility(musicFile == null || !musicFile.canWrite() || lyrics.isLRC()
                    || Id3Reader.getLyrics(getActivity(), lyrics.getArtist(), lyrics.getTitle()) == null
                            ? View.GONE
                            : View.VISIBLE);
    TextSwitcher textSwitcher = ((TextSwitcher) layout.findViewById(R.id.switcher));
    LrcView lrcView = (LrcView) layout.findViewById(R.id.lrc_view);
    View v = getActivity().findViewById(R.id.tracks_msg);
    if (v != null)
        ((ViewGroup) v.getParent()).removeView(v);
    TextView artistTV = (TextView) getActivity().findViewById(R.id.artist);
    TextView songTV = (TextView) getActivity().findViewById(R.id.song);
    final TextView id3TV = (TextView) layout.findViewById(R.id.source_tv);
    TextView writerTV = (TextView) layout.findViewById(R.id.writer_tv);
    TextView copyrightTV = (TextView) layout.findViewById(R.id.copyright_tv);
    RelativeLayout bugLayout = (RelativeLayout) layout.findViewById(R.id.error_msg);
    this.mLyrics = lyrics;
    if (SDK_INT >= ICE_CREAM_SANDWICH)
        beamLyrics(lyrics, this.getActivity());
    new PresenceChecker().execute(this, new String[] { lyrics.getArtist(), lyrics.getTitle(),
            lyrics.getOriginalArtist(), lyrics.getOriginalTrack() });

    if (lyrics.getArtist() != null)
        artistTV.setText(lyrics.getArtist());
    else
        artistTV.setText("");
    if (lyrics.getTitle() != null)
        songTV.setText(lyrics.getTitle());
    else
        songTV.setText("");
    if (lyrics.getCopyright() != null) {
        copyrightTV.setText("Copyright: " + lyrics.getCopyright());
        copyrightTV.setVisibility(View.VISIBLE);
    } else {
        copyrightTV.setText("");
        copyrightTV.setVisibility(View.GONE);
    }
    if (lyrics.getWriter() != null) {
        if (lyrics.getWriter().contains(","))
            writerTV.setText("Writers:\n" + lyrics.getWriter());
        else
            writerTV.setText("Writer:" + lyrics.getWriter());
        writerTV.setVisibility(View.VISIBLE);
    } else {
        writerTV.setText("");
        writerTV.setVisibility(View.GONE);
    }
    if (isActiveFragment)
        ((RefreshIcon) getActivity().findViewById(R.id.refresh_fab)).show();
    EditText newLyrics = (EditText) getActivity().findViewById(R.id.edit_lyrics);
    if (newLyrics != null)
        newLyrics.setText("");

    if (lyrics.getFlag() == Lyrics.POSITIVE_RESULT) {
        if (!lyrics.isLRC()) {
            textSwitcher.setVisibility(View.VISIBLE);
            lrcView.setVisibility(View.GONE);
            if (animation)
                textSwitcher.setText(Html.fromHtml(lyrics.getText()));
            else
                textSwitcher.setCurrentText(Html.fromHtml(lyrics.getText()));
        } else {
            textSwitcher.setVisibility(View.GONE);
            lrcView.setVisibility(View.VISIBLE);
            lrcView.setOriginalLyrics(lyrics);
            lrcView.setSourceLrc(lyrics.getText());
            if (isActiveFragment)
                ((ControllableAppBarLayout) getActivity().findViewById(R.id.appbar)).expandToolbar(true);
            updateLRC();
        }

        bugLayout.setVisibility(View.INVISIBLE);
        id3TV.setMovementMethod(LinkMovementMethod.getInstance());
        if ("Storage".equals(lyrics.getSource())) {
            id3TV.setVisibility(View.VISIBLE);
            SpannableString text = new SpannableString(getString(R.string.from_id3));
            text.setSpan(new UnderlineSpan(), 1, text.length() - 1, 0);
            id3TV.setText(text);
            id3TV.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ((MainActivity) getActivity()).id3PopUp(id3TV);
                }
            });
        } else {
            id3TV.setOnClickListener(null);
            id3TV.setVisibility(View.GONE);
        }
        mScrollView.post(new Runnable() {
            @Override
            public void run() {
                mScrollView.scrollTo(0, 0); //only useful when coming from localLyricsFragment
                mScrollView.smoothScrollTo(0, 0);
            }
        });
    } else {
        textSwitcher.setText("");
        textSwitcher.setVisibility(View.INVISIBLE);
        lrcView.setVisibility(View.INVISIBLE);
        bugLayout.setVisibility(View.VISIBLE);
        int message;
        int whyVisibility;
        if (lyrics.getFlag() == Lyrics.ERROR || !OnlineAccessVerifier.check(getActivity())) {
            message = R.string.connection_error;
            whyVisibility = TextView.GONE;
        } else {
            message = R.string.no_results;
            whyVisibility = TextView.VISIBLE;
            updateSearchView(false, lyrics.getTitle(), false);
        }
        TextView whyTextView = ((TextView) bugLayout.findViewById(R.id.bugtext_why));
        ((TextView) bugLayout.findViewById(R.id.bugtext)).setText(message);
        whyTextView.setVisibility(whyVisibility);
        whyTextView.setPaintFlags(whyTextView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
        id3TV.setVisibility(View.GONE);
    }
    stopRefreshAnimation();
    getActivity().getIntent().setAction("");
    getActivity().invalidateOptionsMenu();
}

From source file:com.forrestguice.suntimeswidget.SuntimesActivity.java

public void highlightTimeField(SolarEvents.SolarEventField highlightField) {
    int nextCardOffset = 0;
    int currentCard = this.card_flipper.getDisplayedChild();

    for (SolarEvents.SolarEventField field : timeFields.keySet()) {
        TextView txtField = timeFields.get(field);
        if (txtField != null) {
            if (field.equals(highlightField)) {
                txtField.setTypeface(txtField.getTypeface(), Typeface.BOLD);
                txtField.setPaintFlags(txtField.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

                if (currentCard == 0 && field.tomorrow) {
                    nextCardOffset = 1;/* ww  w  .j  a  v  a 2  s  .co m*/

                } else if (currentCard == 1 && !field.tomorrow) {
                    nextCardOffset = -1;
                }

            } else {
                txtField.setTypeface(Typeface.create(txtField.getTypeface(), Typeface.NORMAL), Typeface.NORMAL);
                txtField.setPaintFlags(txtField.getPaintFlags() & (~Paint.UNDERLINE_TEXT_FLAG));
            }
        }
    }

    if (!userSwappedCard) {
        //Log.d("DEBUG", "Swapping card to show highlighted :: userSwappedCard " + userSwappedCard);
        if (nextCardOffset > 0) {
            showNextCard();

        } else if (nextCardOffset < 0) {
            showPreviousCard();
        }
    }
}

From source file:com.eveningoutpost.dexdrip.Home.java

private void displayCurrentInfoFromReading(BgReading lastBgReading, boolean predictive) {
    double estimate = 0;
    double estimated_delta = 0;

    String slope_arrow = lastBgReading.slopeArrow();
    String extrastring = "";
    if ((new Date().getTime()) - stale_data_millis() - lastBgReading.timestamp > 0) {
        notificationText.setText(R.string.signal_missed);
        if (!predictive) {
            estimate = lastBgReading.calculated_value;
        } else {//from w w  w  .  jav a2 s.c o m
            estimate = BgReading.estimated_bg(lastBgReading.timestamp + (6000 * 7));
        }
        currentBgValueText.setText(bgGraphBuilder.unitized_string(estimate));
        currentBgValueText.setPaintFlags(currentBgValueText.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
        dexbridgeBattery.setPaintFlags(dexbridgeBattery.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
    } else {
        if (notificationText.getText().length() == 0) {
            notificationText.setTextColor(Color.WHITE);
        }
        boolean bg_from_filtered = prefs.getBoolean("bg_from_filtered", false);
        if (!predictive) {

            estimate = lastBgReading.calculated_value; // normal
            currentBgValueText.setTypeface(null, Typeface.NORMAL);

            // if noise has settled down then switch off filtered mode
            if ((bg_from_filtered) && (BgGraphBuilder.last_noise < BgGraphBuilder.NOISE_FORGIVE)
                    && (prefs.getBoolean("bg_compensate_noise", false))) {
                bg_from_filtered = false;
                prefs.edit().putBoolean("bg_from_filtered", false).apply();

            }

            if ((BgGraphBuilder.last_noise > BgGraphBuilder.NOISE_TRIGGER)
                    && (BgGraphBuilder.best_bg_estimate > 0) && (BgGraphBuilder.last_bg_estimate > 0)
                    && (prefs.getBoolean("bg_compensate_noise", false))) {
                estimate = BgGraphBuilder.best_bg_estimate; // this maybe needs scaling based on noise intensity
                estimated_delta = BgGraphBuilder.best_bg_estimate - BgGraphBuilder.last_bg_estimate;
                slope_arrow = BgReading
                        .slopeToArrowSymbol(estimated_delta / (BgGraphBuilder.DEXCOM_PERIOD / 60000)); // delta by minute
                currentBgValueText.setTypeface(null, Typeface.ITALIC);
                extrastring = "\u26A0"; // warning symbol !
            }

            if ((BgGraphBuilder.last_noise > BgGraphBuilder.NOISE_HIGH) && (DexCollectionType.hasFiltered())) {
                bg_from_filtered = true; // force filtered mode
            }

            if (bg_from_filtered) {
                currentBgValueText
                        .setPaintFlags(currentBgValueText.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
                estimate = lastBgReading.filtered_calculated_value;
            } else {
                currentBgValueText
                        .setPaintFlags(currentBgValueText.getPaintFlags() & ~Paint.UNDERLINE_TEXT_FLAG);
            }
            String stringEstimate = bgGraphBuilder.unitized_string(estimate);
            if ((lastBgReading.hide_slope) || (bg_from_filtered)) {
                slope_arrow = "";
            }
            currentBgValueText.setText(stringEstimate + " " + slope_arrow);
        } else {
            estimate = BgReading.activePrediction();
            String stringEstimate = bgGraphBuilder.unitized_string(estimate);
            currentBgValueText.setText(stringEstimate + " " + BgReading.activeSlopeArrow());
        }
        if (extrastring.length() > 0)
            currentBgValueText.setText(extrastring + currentBgValueText.getText());
    }
    int minutes = (int) (System.currentTimeMillis() - lastBgReading.timestamp) / (60 * 1000);

    if ((!small_width) || (notificationText.length() > 0))
        notificationText.append("\n");
    if (!small_width) {
        notificationText.append(minutes + ((minutes == 1) ? getString(R.string.space_minute_ago)
                : getString(R.string.space_minutes_ago)));
    } else {
        // small screen
        notificationText.append(minutes + getString(R.string.space_mins));
        currentBgValueText.setPadding(0, 0, 0, 0);
    }

    if (small_screen) {
        if (currentBgValueText.getText().length() > 4)
            currentBgValueText.setTextSize(25);
    }

    // do we actually need to do this query here if we again do it in unitizedDeltaString
    List<BgReading> bgReadingList = BgReading.latest(2, is_follower);
    if (bgReadingList != null && bgReadingList.size() == 2) {
        // same logic as in xDripWidget (refactor that to BGReadings to avoid redundancy / later inconsistencies)?

        display_delta = bgGraphBuilder.unitizedDeltaString(true, true, is_follower);

        // TODO reduce duplication of logic
        if ((BgGraphBuilder.last_noise > BgGraphBuilder.NOISE_TRIGGER) && (BgGraphBuilder.best_bg_estimate > 0)
                && (BgGraphBuilder.last_bg_estimate > 0) && (prefs.getBoolean("bg_compensate_noise", false))) {
            //final double estimated_delta = BgGraphBuilder.best_bg_estimate - BgGraphBuilder.last_bg_estimate;
            display_delta = bgGraphBuilder.unitizedDeltaStringRaw(true, true, estimated_delta);
            addDisplayDelta();
            if (!prefs.getBoolean("show_noise_workings", false)) {
                notificationText.append("\nNoise: " + bgGraphBuilder.noiseString(BgGraphBuilder.last_noise));
            }
        } else {
            addDisplayDelta();
        }

    }
    if (bgGraphBuilder.unitized(estimate) <= bgGraphBuilder.lowMark) {
        currentBgValueText.setTextColor(Color.parseColor("#C30909"));
    } else if (bgGraphBuilder.unitized(estimate) >= bgGraphBuilder.highMark) {
        currentBgValueText.setTextColor(Color.parseColor("#FFBB33"));
    } else {
        currentBgValueText.setTextColor(Color.WHITE);
    }
}