From d9496ac4101f426a74ac63b7d40eb739dbffd7b4 Mon Sep 17 00:00:00 2001 From: George Kravas Date: Thu, 29 Sep 2016 14:03:30 +0300 Subject: [PATCH] Support CharSequence for text instead of String --- .../java/com/tooltip/sample/MainActivity.java | 16 +++++++++++++++- library/build.gradle | 2 +- library/src/main/java/com/tooltip/Tooltip.java | 4 ++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/tooltip/sample/MainActivity.java b/app/src/main/java/com/tooltip/sample/MainActivity.java index a9f408c..c53483f 100644 --- a/app/src/main/java/com/tooltip/sample/MainActivity.java +++ b/app/src/main/java/com/tooltip/sample/MainActivity.java @@ -1,7 +1,14 @@ package com.tooltip.sample; +import android.graphics.Color; +import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.style.ForegroundColorSpan; +import android.text.style.ImageSpan; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; @@ -38,11 +45,18 @@ public void onClick(View v) { public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); + SpannableString text = new SpannableString("I`m on the bottom of menu item X"); + text.setSpan(new ForegroundColorSpan(Color.RED), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + Drawable d = ContextCompat.getDrawable(getBaseContext(), R.mipmap.ic_launcher); + d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); + ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE); + text.setSpan(span, 31, 32, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + MenuItem menuItem = menu.findItem(R.id.action_test2); Tooltip.Builder builder = new Tooltip.Builder(menuItem) .setCornerRadius(10f) .setGravity(Gravity.BOTTOM) - .setText("I`m on the bottom of menu item"); + .setText(text); builder.show(); return super.onCreateOptionsMenu(menu); diff --git a/library/build.gradle b/library/build.gradle index de0586b..4d2e2ce 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -9,7 +9,7 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 - versionName "0.1.9" + versionName "0.2.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } diff --git a/library/src/main/java/com/tooltip/Tooltip.java b/library/src/main/java/com/tooltip/Tooltip.java index 1632ede..83bdd98 100644 --- a/library/src/main/java/com/tooltip/Tooltip.java +++ b/library/src/main/java/com/tooltip/Tooltip.java @@ -390,7 +390,7 @@ public static final class Builder { private float mLineSpacingMultiplier = 1f; private Drawable mArrowDrawable; - private String mText; + private CharSequence mText; private ColorStateList mTextColor; private Typeface mTypeface = Typeface.DEFAULT; @@ -636,7 +636,7 @@ public Builder setText(@StringRes int resId) { * * @return This Builder object to allow for chaining of calls to set methods */ - public Builder setText(String text) { + public Builder setText(CharSequence text) { mText = text; return this; }