List of usage examples for android.widget TextView setLinksClickable
@android.view.RemotableViewMethod public final void setLinksClickable(boolean whether)
From source file:com.slushpupie.deskclock.DeskClock.java
protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_CHANGELOG: AlertDialog.Builder builder = new AlertDialog.Builder(this); // Standard AlertDialog does not support HTML-style links. // So rebuild the ScrollView->TextView with the appropriate // settings and set the view directly. TextView tv = new TextView(this); tv.setPadding(5, 5, 5, 5);/* w w w .j a v a 2 s .com*/ tv.setLinksClickable(true); tv.setMovementMethod(LinkMovementMethod.getInstance()); tv.setText(R.string.changeLog); tv.setTextAppearance(this, android.R.style.TextAppearance_Medium); ScrollView sv = new ScrollView(this); sv.setPadding(14, 2, 10, 12); sv.addView(tv); builder.setView(sv).setCancelable(false).setTitle(R.string.changeLogTitle) .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(DeskClock.this); SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("pref_changelog", false); editor.putString("last_changelog", getString(R.string.app_version)); editor.commit(); } }); return builder.create(); default: return null; } }
From source file:com.amaze.filemanager.fragments.preference_fragments.Preffrag.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PreferenceUtils.reset();/*from www . j a v a 2 s. c o m*/ // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preferences); sharedPref = PreferenceManager.getDefaultSharedPreferences(getActivity()); final int th1 = Integer.parseInt(sharedPref.getString("theme", "0")); theme = th1 == 2 ? PreferenceUtils.hourOfDay() : th1; findPreference("donate").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { ((com.amaze.filemanager.activities.Preferences) getActivity()).donate(); return false; } }); findPreference("columns").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { final String[] sort = getResources().getStringArray(R.array.columns); MaterialDialog.Builder a = new MaterialDialog.Builder(getActivity()); if (theme == 1) a.theme(Theme.DARK); a.title(R.string.gridcolumnno); int current = Integer.parseInt(sharedPref.getString("columns", "-1")); current = current == -1 ? 0 : current; if (current != 0) current = current - 1; a.items(sort).itemsCallbackSingleChoice(current, new MaterialDialog.ListCallbackSingleChoice() { @Override public boolean onSelection(MaterialDialog dialog, View view, int which, CharSequence text) { sharedPref.edit().putString("columns", "" + (which != 0 ? sort[which] : "" + -1)).commit(); dialog.dismiss(); return true; } }); a.build().show(); return true; } }); findPreference("theme").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { String[] sort = getResources().getStringArray(R.array.theme); int current = Integer.parseInt(sharedPref.getString("theme", "0")); MaterialDialog.Builder a = new MaterialDialog.Builder(getActivity()); if (theme == 1) a.theme(Theme.DARK); a.items(sort).itemsCallbackSingleChoice(current, new MaterialDialog.ListCallbackSingleChoice() { @Override public boolean onSelection(MaterialDialog dialog, View view, int which, CharSequence text) { sharedPref.edit().putString("theme", "" + which).commit(); dialog.dismiss(); restartPC(getActivity()); return true; } }); a.title(R.string.theme); a.build().show(); return true; } }); findPreference("colors").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { ((com.amaze.filemanager.activities.Preferences) getActivity()).selectItem(1); return true; } }); final CheckBx rootmode = (CheckBx) findPreference("rootmode"); rootmode.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { boolean b = sharedPref.getBoolean("rootmode", false); if (b) { if (RootTools.isAccessGiven()) { rootmode.setChecked(true); } else { rootmode.setChecked(false); Toast.makeText(getActivity(), getResources().getString(R.string.rootfailure), Toast.LENGTH_LONG).show(); } } else { rootmode.setChecked(false); } return false; } }); // Authors Preference preference4 = (Preference) findPreference("authors"); preference4.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { MaterialDialog.Builder a = new MaterialDialog.Builder(getActivity()); skin = PreferenceUtils.getPrimaryColorString(sharedPref); int fab_skin = Color.parseColor(PreferenceUtils.getAccentString(sharedPref)); if (theme == 1) a.theme(Theme.DARK); a.positiveText(R.string.close); a.positiveColor(fab_skin); LayoutInflater layoutInflater = (LayoutInflater) getActivity() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = layoutInflater.inflate(R.layout.authors, null); a.customView(view, true); a.title(R.string.authors); a.callback(new MaterialDialog.ButtonCallback() { @Override public void onPositive(MaterialDialog materialDialog) { materialDialog.cancel(); } @Override public void onNegative(MaterialDialog materialDialog) { } }); /*a.setNegativeButton(R.string.close, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { dialogInterface.cancel(); } });*/ a.build().show(); final Intent intent = new Intent(Intent.ACTION_VIEW); TextView googlePlus1 = (TextView) view.findViewById(R.id.googlePlus1); googlePlus1.setTextColor(Color.parseColor(skin)); TextView googlePlus2 = (TextView) view.findViewById(R.id.googlePlus2); googlePlus2.setTextColor(Color.parseColor(skin)); TextView git1 = (TextView) view.findViewById(R.id.git1); git1.setTextColor(Color.parseColor(skin)); TextView git2 = (TextView) view.findViewById(R.id.git2); git2.setTextColor(Color.parseColor(skin)); googlePlus1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { intent.setData(Uri.parse("https://plus.google.com/u/0/110424067388738907251/")); startActivity(intent); } }); googlePlus2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { intent.setData(Uri.parse("https://plus.google.com/+VishalNehra/")); startActivity(intent); } }); git1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { intent.setData(Uri.parse("https://github.com/arpitkh96")); startActivity(intent); } }); git2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { intent.setData(Uri.parse("https://github.com/vishal0071")); startActivity(intent); } }); // icon credits TextView textView = (TextView) view.findViewById(R.id.icon_credits); textView.setMovementMethod(LinkMovementMethod.getInstance()); textView.setLinksClickable(true); textView.setText(Html.fromHtml(getActivity().getString(R.string.icon_credits))); return false; } }); // Changelog Preference preference1 = (Preference) findPreference("changelog"); preference1.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { MaterialDialog.Builder a = new MaterialDialog.Builder(getActivity()); if (theme == 1) a.theme(Theme.DARK); a.title(R.string.changelog); a.content(Html.fromHtml(getActivity().getString(R.string.changelog_version_9) + getActivity().getString(R.string.changelog_change_9) + getActivity().getString(R.string.changelog_version_8) + getActivity().getString(R.string.changelog_change_8) + getActivity().getString(R.string.changelog_version_7) + getActivity().getString(R.string.changelog_change_7) + getActivity().getString(R.string.changelog_version_6) + getActivity().getString(R.string.changelog_change_6) + getActivity().getString(R.string.changelog_version_5) + getActivity().getString(R.string.changelog_change_5) + getActivity().getString(R.string.changelog_version_4) + getActivity().getString(R.string.changelog_change_4) + getActivity().getString(R.string.changelog_version_3) + getActivity().getString(R.string.changelog_change_3) + getActivity().getString(R.string.changelog_version_2) + getActivity().getString(R.string.changelog_change_2) + getActivity().getString(R.string.changelog_version_1) + getActivity().getString(R.string.changelog_change_1))); a.negativeText(R.string.close); a.positiveText(R.string.fullChangelog); int fab_skin = Color.parseColor(PreferenceUtils.getAccentString(sharedPref)); a.positiveColor(fab_skin); a.negativeColor(fab_skin); a.callback(new MaterialDialog.ButtonCallback() { @Override public void onPositive(MaterialDialog materialDialog) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/arpitkh96/AmazeFileManager/commits/master")); startActivity(intent); } @Override public void onNegative(MaterialDialog materialDialog) { materialDialog.cancel(); } }).build().show(); return false; } }); // Open Source Licenses Preference preference2 = (Preference) findPreference("os"); //Defining dialog layout final Dialog dialog = new Dialog(getActivity(), android.R.style.Theme_Holo_Light_DialogWhenLarge_NoActionBar); //dialog.setTitle("Open-Source Licenses"); LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Activity.LAYOUT_INFLATER_SERVICE); final View dialog_view = inflater.inflate(R.layout.open_source_licenses, null); dialog.setContentView(dialog_view); preference2.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference arg0) { WebView wv = (WebView) dialog_view.findViewById(R.id.webView1); PreferenceUtils preferenceUtils = new PreferenceUtils(); wv.loadData(PreferenceUtils.LICENCE_TERMS, "text/html", null); dialog.show(); return false; } }); // Feedback Preference preference3 = (Preference) findPreference("feedback"); preference3.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "arpitkh96@gmail.com", null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Feedback : Amaze File Manager"); Toast.makeText(getActivity(), getActivity().getFilesDir().getPath(), Toast.LENGTH_SHORT).show(); File f = new File(getActivity().getExternalFilesDir("internal"), "log.txt"); if (f.exists()) { emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(f)); } startActivity(Intent.createChooser(emailIntent, getResources().getString(R.string.feedback))); return false; } }); // rate Preference preference5 = (Preference) findPreference("rate"); preference5.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { Intent intent1 = new Intent(Intent.ACTION_VIEW); intent1.setData(Uri.parse("market://details?id=com.amaze.filemanager")); startActivity(intent1); return false; } }); // studio Preference studio = findPreference("studio"); studio.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { COUNT++; if (COUNT >= 5) { if (toast != null) toast.cancel(); toast = Toast.makeText(getActivity(), "Studio Mode : " + COUNT, Toast.LENGTH_SHORT); toast.show(); sharedPref.edit().putInt("studio", Integer.parseInt(Integer.toString(COUNT) + "000")).apply(); } else { sharedPref.edit().putInt("studio", 0).apply(); } return false; } }); // G+ gplus = (CheckBx) findPreference("plus_pic"); gplus.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { if (gplus.isChecked()) { boolean b = checkGplusPermission(); if (!b) requestGplusPermission(); } return false; } }); if (BuildConfig.IS_VERSION_FDROID) gplus.setEnabled(false); // Colored navigation bar }
From source file:com.keylesspalace.tusky.AccountActivity.java
private void onObtainAccountSuccess(Account account) { loadedAccount = account;//from w w w .ja v a2 s . com TextView username = (TextView) findViewById(R.id.account_username); TextView displayName = (TextView) findViewById(R.id.account_display_name); TextView note = (TextView) findViewById(R.id.account_note); CircularImageView avatar = (CircularImageView) findViewById(R.id.account_avatar); ImageView header = (ImageView) findViewById(R.id.account_header); String usernameFormatted = String.format(getString(R.string.status_username_format), account.username); username.setText(usernameFormatted); displayName.setText(account.getDisplayName()); note.setText(account.note); note.setLinksClickable(true); note.setMovementMethod(LinkMovementMethod.getInstance()); if (account.locked) { accountLockedView.setVisibility(View.VISIBLE); } else { accountLockedView.setVisibility(View.GONE); } Picasso.with(this).load(account.avatar).placeholder(R.drawable.avatar_default) .error(R.drawable.avatar_error).into(avatar); Picasso.with(this).load(account.header).placeholder(R.drawable.account_header_missing).into(header); NumberFormat nf = NumberFormat.getInstance(); // Add counts to the tabs in the TabLayout. String[] counts = { nf.format(Integer.parseInt(account.statusesCount)), nf.format(Integer.parseInt(account.followingCount)), nf.format(Integer.parseInt(account.followersCount)), }; for (int i = 0; i < tabLayout.getTabCount(); i++) { TabLayout.Tab tab = tabLayout.getTabAt(i); if (tab != null) { View view = tab.getCustomView(); if (view != null) { TextView total = (TextView) view.findViewById(R.id.total); total.setText(counts[i]); } } } }
From source file:info.guardianproject.pixelknot.PixelKnotActivity.java
private void showAbout() { AlertDialog.Builder ad = new AlertDialog.Builder(this); View about = LayoutInflater.from(this).inflate(R.layout.about_fragment, null); TextView about_gp_email = (TextView) about.findViewById(R.id.about_gp_email); about_gp_email.setText(Html.fromHtml("<a href='mailto:" + about_gp_email.getText().toString() + "'>" + about_gp_email.getText().toString() + "</a>")); TextView about_version = (TextView) about.findViewById(R.id.about_version); try {/*from www. j a va2 s .c o m*/ about_version.setText(getPackageManager().getPackageInfo(getPackageName(), 0).versionName); } catch (NameNotFoundException e) { Log.e(LOG, e.toString()); e.printStackTrace(); about_version.setText("1.0"); } LinearLayout license_holder = (LinearLayout) about.findViewById(R.id.about_license_holder); String[] licenses = getResources().getStringArray(R.array.about_software); String[] licenses_ = getResources().getStringArray(R.array.about_software_); for (int l = 0; l < licenses.length; l++) { TextView license = new TextView(this); license.setText(licenses[l]); license.setTextSize(20); TextView license_ = new TextView(this); license_.setText(Html.fromHtml("<a href='" + licenses_[l] + "'>" + licenses_[l] + "</a>")); license_.setLinksClickable(true); Linkify.addLinks(license_, Linkify.ALL); license_.setPadding(0, 0, 0, 30); license_.setTextSize(20); license_holder.addView(license); license_holder.addView(license_); } ad.setView(about); ad.setPositiveButton(getString(R.string.ok), null); ad.show(); }
From source file:com.keylesspalace.tusky.util.LinkHelper.java
/** * Finds links, mentions, and hashtags in a piece of text and makes them clickable, associating * them with callbacks to notify when they're clicked. * * @param view the returned text will be put in * @param content containing text with mentions, links, or hashtags * @param mentions any '@' mentions which are known to be in the content * @param listener to notify about particular spans that are clicked */// ww w .ja v a 2s . c o m public static void setClickableText(TextView view, Spanned content, @Nullable Status.Mention[] mentions, final LinkListener listener) { SpannableStringBuilder builder = new SpannableStringBuilder(content); URLSpan[] urlSpans = content.getSpans(0, content.length(), URLSpan.class); for (URLSpan span : urlSpans) { int start = builder.getSpanStart(span); int end = builder.getSpanEnd(span); int flags = builder.getSpanFlags(span); CharSequence text = builder.subSequence(start, end); if (text.charAt(0) == '#') { final String tag = text.subSequence(1, text.length()).toString(); ClickableSpan newSpan = new ClickableSpan() { @Override public void onClick(View widget) { listener.onViewTag(tag); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); } }; builder.removeSpan(span); builder.setSpan(newSpan, start, end, flags); } else if (text.charAt(0) == '@' && mentions != null && mentions.length > 0) { String accountUsername = text.subSequence(1, text.length()).toString(); /* There may be multiple matches for users on different instances with the same * username. If a match has the same domain we know it's for sure the same, but if * that can't be found then just go with whichever one matched last. */ String id = null; for (Status.Mention mention : mentions) { if (mention.localUsername.equalsIgnoreCase(accountUsername)) { id = mention.id; if (mention.url.contains(getDomain(span.getURL()))) { break; } } } if (id != null) { final String accountId = id; ClickableSpan newSpan = new ClickableSpan() { @Override public void onClick(View widget) { listener.onViewAccount(accountId); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); } }; builder.removeSpan(span); builder.setSpan(newSpan, start, end, flags); } } else { ClickableSpan newSpan = new CustomURLSpan(span.getURL()); builder.removeSpan(span); builder.setSpan(newSpan, start, end, flags); } } view.setText(builder); view.setLinksClickable(true); view.setMovementMethod(LinkMovementMethod.getInstance()); }