首页 > 其他分享 >带动画效果的简单Tips显示

带动画效果的简单Tips显示

时间:2023-04-06 21:33:04浏览次数:46  
标签:null 效果 void activity 带动 new Tips main id


项目地址:https://github.com/nhaarman/supertooltips



我比较懒,懒得以后重新写了,所以直接copy了。



带动画效果的简单Tips显示_android



用法:

package com.haarman.supertooltips;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;

import com.mobovip.views.ToolTip;
import com.mobovip.views.ToolTipRelativeLayout;
import com.mobovip.views.ToolTipView;

public class MainActivity extends Activity implements View.OnClickListener, ToolTipView.OnToolTipViewClickedListener {

    private ToolTipView mRedToolTipView;
    private ToolTipView mGreenToolTipView;
    private ToolTipView mBlueToolTipView;
    private ToolTipView mPurpleToolTipView;
    private ToolTipView mOrangeToolTipView;
    private ToolTipRelativeLayout mToolTipFrameLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mToolTipFrameLayout = (ToolTipRelativeLayout) findViewById(R.id.activity_main_tooltipframelayout);
        findViewById(R.id.activity_main_redtv).setOnClickListener(MainActivity.this);
        findViewById(R.id.activity_main_greentv).setOnClickListener(MainActivity.this);
        findViewById(R.id.activity_main_bluetv).setOnClickListener(MainActivity.this);
        findViewById(R.id.activity_main_purpletv).setOnClickListener(MainActivity.this);
        findViewById(R.id.activity_main_orangetv).setOnClickListener(MainActivity.this);


        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                addRedToolTipView();
            }
        }, 500);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                addGreenToolTipView();
            }
        }, 700);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                addOrangeToolTipView();
            }
        }, 900);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                addBlueToolTipView();
            }
        }, 1100);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                addPurpleToolTipView();
            }
        }, 1300);

    }

    private void addRedToolTipView() {
        mRedToolTipView = mToolTipFrameLayout.showToolTipForView(
                new ToolTip()
                        .withText("A beautiful Button")
                        .withColor(getResources().getColor(R.color.holo_red))
                        .withShadow(true),
                findViewById(R.id.activity_main_redtv));
        mRedToolTipView.setOnToolTipViewClickedListener(MainActivity.this);
    }

    private void addGreenToolTipView() {
        mGreenToolTipView = mToolTipFrameLayout.showToolTipForView(
                new ToolTip()
                        .withText("Another beautiful Button!")
                        .withColor(getResources().getColor(R.color.holo_green)),
                findViewById(R.id.activity_main_greentv));
        mGreenToolTipView.setOnToolTipViewClickedListener(MainActivity.this);
    }

    private void addBlueToolTipView() {
        mBlueToolTipView = mToolTipFrameLayout.showToolTipForView(
                new ToolTip()
                        .withText("Moarrrr buttons!")
                        .withColor(getResources().getColor(R.color.holo_blue))
                        .withAnimationType(ToolTip.ANIMATIONTYPE_FROMTOP),
                findViewById(R.id.activity_main_bluetv));
        mBlueToolTipView.setOnToolTipViewClickedListener(MainActivity.this);
    }

    private void addPurpleToolTipView() {
        mPurpleToolTipView = mToolTipFrameLayout.showToolTipForView(
                new ToolTip()
                        .withContentView(LayoutInflater.from(this).inflate(R.layout.custom_tooltip, null))
                        .withColor(getResources().getColor(R.color.holo_purple)),
                findViewById(R.id.activity_main_purpletv));
        mPurpleToolTipView.setOnToolTipViewClickedListener(MainActivity.this);
    }

    private void addOrangeToolTipView() {
        mOrangeToolTipView = mToolTipFrameLayout.showToolTipForView(
                new ToolTip()
                        .withText("Tap me!")
                        .withColor(getResources().getColor(R.color.holo_orange)),
                findViewById(R.id.activity_main_orangetv));
        mOrangeToolTipView.setOnToolTipViewClickedListener(MainActivity.this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.activity_main_redtv:
                if (mRedToolTipView == null) {
                    addRedToolTipView();
                } else {
                    mRedToolTipView.remove();
                    mRedToolTipView = null;
                }
                break;
            case R.id.activity_main_greentv:
                if (mGreenToolTipView == null) {
                    addGreenToolTipView();
                } else {
                    mGreenToolTipView.remove();
                    mGreenToolTipView = null;
                }
                break;
            case R.id.activity_main_bluetv:
                if (mBlueToolTipView == null) {
                    addBlueToolTipView();
                } else {
                    mBlueToolTipView.remove();
                    mBlueToolTipView = null;
                }
                break;
            case R.id.activity_main_purpletv:
                if (mPurpleToolTipView == null) {
                    addPurpleToolTipView();
                } else {
                    mPurpleToolTipView.remove();
                    mPurpleToolTipView = null;
                }
                break;
            case R.id.activity_main_orangetv:
                if (mOrangeToolTipView == null) {
                    addOrangeToolTipView();
                } else {
                    mOrangeToolTipView.remove();
                    mOrangeToolTipView = null;
                }
                break;
        }
    }

    @Override
    public void onToolTipViewClicked(ToolTipView toolTipView) {
        if (mRedToolTipView == toolTipView) {
            mRedToolTipView = null;
        } else if (mGreenToolTipView == toolTipView) {
            mGreenToolTipView = null;
        } else if (mBlueToolTipView == toolTipView) {
            mBlueToolTipView = null;
        } else if (mPurpleToolTipView == toolTipView) {
            mPurpleToolTipView = null;
        } else if (mOrangeToolTipView == toolTipView) {
            mOrangeToolTipView = null;
        }
    }
}




<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/activity_main_redtv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/red" />

    <Button
        android:id="@+id/activity_main_greentv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="@string/green" />

    <Button
        android:id="@+id/activity_main_bluetv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="@string/blue" />

    <Button
        android:id="@+id/activity_main_purpletv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="@string/purple" />

    <Button
        android:id="@+id/activity_main_orangetv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/orange" />

    <com.mobovip.views.ToolTipRelativeLayout
        android:id="@+id/activity_main_tooltipframelayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>


  • 带动画效果的简单Tips显示_ide_02

  • 大小: 89.2 KB
  • example.zip (1.4 MB)
  • 下载次数: 94
  • 查看图片附件

标签:null,效果,void,activity,带动,new,Tips,main,id
From: https://blog.51cto.com/u_5454003/6174177

相关文章

  • 刮刮卡效果
    刮刮卡类:packagecom.reyo.view;importandroid.content.Context;importandroid.graphics.Bitmap;importandroid.graphics.Bitmap.Config;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.graphics.Path;importandroid.graphics.Port......
  • 左边可拖出菜单(页面)效果
    这个效果现在很多软件都实现了,其实说穿了很简单的。就是一个动画,做的地道点的加一个手势拖拉效果。我写的代码(未参考任何代码,不知道别人怎么实现的。):importjava.util.ArrayList;importandroid.content.Context;importandroid.os.Bundle;importandroid.util.Log;import......
  • Tips(烂笔头)
    1、数据,只有序列化后,才方便进行网络传输:序列化就是将数据结构或对象转换成二进制串的过程,也就是编码的过程,序列化后,会把数据转换为二进制串,然后可以进行网络传输;反序列化就是在序列化过程中所生成的二进制串转换成数据结构或者对象的过程,将二进制转换为对象后业务才好进行后续的逻......
  • 直播电商平台开发,用el-checkout-group实现穿梭框el-transfer效果
    直播电商平台开发,用el-checkout-group实现穿梭框el-transfer效果一:页面构建 <el-form-itemlabel="选择模块:"prop="pubTime">  <divclass="app-select">   <divclass="list">    <el-inputv-model="searchWord&qu......
  • EasyUI闪屏,EasyUI页面加载提示:原理+代码+效果图
    使用EasyUI时,有个经常遇到的问题,页面还没有渲染完成的时候,就展现了。刚刚开始很混乱,等加载完成后,就好了。    $.parser.onComplete,这个是在所有组件解析完成后执行的事件。其实这个事件很有用的。很多在布局用到easyui的时候总会出现一个问题。就是在一进入主界面的时候,页......
  • web前端tips:CSS之sticky粘滞效果
    Sticky介绍Sticky是CSS3的一个定位属性,它可以让元素在滚动过程中“粘”在屏幕上的某个位置,直到滚动到某个临界点后才会跟随滚动。Sticky定位可以使得页面更具交互性和易用性,也提高了页面的可读性。Sticky定位可以通过以下代码实现:position:sticky;top:0;其中,top属性定义了......
  • vue引入粒子背景图效果
    安装依赖npminstallvue-particles--save-devmain.jsimportVueParticlesfrom'vue-particles'Vue.use(VueParticles)template  <vue-particles     color="#409EFF"     :particleOpacity="0.7"     :parti......
  • CAD更改线宽后没有变化效果怎么办?
    CAD更改线宽后没有变化效果怎么办?在我们调整CAD图纸样条线线宽的过程中,有可能会遇到更改CAD线宽没反应的情况,这种不显示的情况要怎么解决呢?本期,就和一起看看CAD更改线宽后不显示变化的原因和解决方法吧!CAD更改线宽后没有变化效果怎么办?CAD更改线宽后没反应的原因是因为CAD......
  • 免费广告效果监测服务,实现全链路营销效果跟踪
    广告主们都希望以低预算获得更高的广告投放收益,在投放广告后,想要了解高回报的渠道,往往需要收集并分析繁杂的数据,耗时耗力。通过广告监测,广告主可以准确的追溯用户渠道来源,看到不同流量的用户价值,分析广告投放效果,从而指导广告的出价和投放素材的优化,把预算花在刀刃上。针对广告主......
  • 4.7 app.mount的作用效果
    这里msg的效果,在app.mount('#box')后就被覆盖掉了<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><divid="box">......