TipView——基于android-target-tooltip修改的“新功能提示view”

TipView——基于android-target-tooltip修改的新功能提示view(可自定義提示樣式)

參考代碼:https://github.com/sephiroth74/android-target-tooltip

備注:

  • 1.原來(lái)的代碼本身也是支持用戶自定義提示樣式的withCustomView(R.layout.custom_view),但是這個(gè)方法設(shè)置以后,就沒(méi)有“箭頭了”,具體效果看截圖;
  • 2.源代碼各個(gè)java代碼實(shí)現(xiàn)的功能:

1.TooltipOverlay、TooltipOverlayDrawable 是用來(lái)實(shí)現(xiàn)目標(biāo)view上的點(diǎn)擊效果,在我這個(gè)項(xiàng)目中暫時(shí)沒(méi)有用到;

2.TooltipTextDrawable 實(shí)現(xiàn)背景---就是帶有小箭頭、圓角之類的背景,非常重要(核心就是代碼畫(huà)背景);

3.Tooltip 實(shí)現(xiàn)“提示view”的構(gòu)建,展示,關(guān)閉,等等

  • 3.主要修改的代碼段落:

Tooltip initializeView()方法中

if (null != mDrawable) {
    mTextView.setBackgroundDrawable(mDrawable);
if (mHideArrow) {
    mTextView.setPadding(mPadding / 2, mPadding / 2, mPadding / 2, mPadding / 2);
} else {
    mTextView.setPadding(mPadding, mPadding, mPadding, mPadding);
    }
}

這段代碼中,mDrawable就是TooltipTextDrawable,指繪制的背景,所以只需要將mTextView改成我們需要的view就可以了,修改后:

if (null != mDrawable) {
    mLayout.setBackgroundDrawable(mDrawable);
if (mHideArrow) {
    mLayout.setPadding(mPadding / 2, mPadding / 2, mPadding / 2, mPadding / 2);
} else {
    mLayout.setPadding(mPadding, mPadding, mPadding, mPadding);
    }
}

其中mLayout就是我們自定義的樣式,寫(xiě)在tooltip_view.xml中

mTextView = (TextView) mView.findViewById(android.R.id.text1);
mLbDismiss = (TextView) mView.findViewById(R.id.lbDismiss);
mLayout = (LinearLayout) mView.findViewById(R.id.layout);

tooltip_view.xml 代碼

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#ff8800"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:padding="15dp">

    <TextView
        android:id="@android:id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="投資機(jī)構(gòu)推薦的項(xiàng)目上線啦"
        android:textColor="@android:color/white"
        android:textSize="15dp"
        android:maxLines="2"/>

    <TextView
        android:id="@+id/lbDismiss"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:layout_alignParentRight="true"
        android:text="知道了"
        android:textColor="#ccffffff"
        android:textSize="13dp"
        android:layout_marginTop="17dp"
        android:padding="3dp"/>

</LinearLayout>

實(shí)現(xiàn)截圖:

2.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,938評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,185評(píng)論 4 61
  • 最近在忙京東的比賽,真的挺累,但是加油兒啦啦啦啦~ 堅(jiān)持就是勝利,現(xiàn)在是全國(guó)第三的成績(jī),要繼續(xù)前進(jìn),不負(fù)努力! 明...
    Shapmer閱讀 119評(píng)論 4 3
  • 人生沒(méi)有假如,但是我就是喜歡假如。假如我的生命還有100天,如果這100天正好是冬末開(kāi)始夏初結(jié)束或者是夏末開(kāi)始冬初...
    葡萄公主閱讀 828評(píng)論 0 1
  • 由日照市文明辦、日照市文聯(lián)、日照市文廣新局舉辦的"林水花海,端午風(fēng)情"日照市第二屆端午詩(shī)會(huì),5月26日下午在...
    龍山路小學(xué)閱讀 1,013評(píng)論 0 0

友情鏈接更多精彩內(nèi)容