自定义信息提示条tooltipbar
2014-06-12 18:59
183 查看
最近在公司忙的焦头烂额,做一些自己的控件,千奇百怪的,现在拿出一部分分享给大家。
信息提示条,可以用来显示一些文本信息,并通过服务器端传递的一些json串,解析过之后循环显示出来,通过每一次点击textview以动画的形式跳到另一个textview上并显示出来,循环往复。
不多说了,直接上代码,有注释,无须解释。
使用类如下:
第一次写博客,望多指教,不喜勿喷,呵呵~
该工程下载地址:http://download.csdn.net/download/sword_cx/7490245
信息提示条,可以用来显示一些文本信息,并通过服务器端传递的一些json串,解析过之后循环显示出来,通过每一次点击textview以动画的形式跳到另一个textview上并显示出来,循环往复。
不多说了,直接上代码,有注释,无须解释。
package com.example.atooltipbar; import java.util.ArrayList; import java.util.List; import java.util.Random; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.content.Context; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.ScaleAnimation; import android.widget.TextView; /** * @author xiaochj * @Date 2014-6-2 上午10:45:33 * @version */ public class Tooltipbar extends TextView { private AnimationSet mset = null;// 淡入淡出对象 private Animation mscale = null;// 伸缩对象 private int index = 0; public static List<String> list = new ArrayList<String>();// 存储的数据 public Tooltipbar(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public Tooltipbar(Context context, AttributeSet attrs) { super(context, attrs); } public Tooltipbar(Context context) { super(context); this.setGravity(Gravity.CENTER); this.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { listGet();// 循环改变文本内容 animationFor();// 动画效果 } }); } /** * 循环改变文本内容 */ public void listGet() { if (list.size() == 0) {// 如果没有文本,则循环显示默认文本 return; } else { setText(list.get(index));// 从list中取元素显示出来 index++; if (index == list.size()) {// 循环显示内容 index = 0; } } } /** * 动画效果 */ public void animationFor() { // 每点击一次,产生一个随机数,将数控制在10以内,通过判断来决定做哪种动画效果 Random rad = new Random(); int k = rad.nextInt(); int j = Math.abs(k % 10); if (j == 1 || j == 3 || j == 5 || j == 7 || j == 9) { mset = new AnimationSet(true); // 淡入 AlphaAnimation malpha1 = new AlphaAnimation(0, 1); malpha1.setDuration(3000);// 3s mset.addAnimation(malpha1); startAnimation(mset); } else { // 伸缩 mscale = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); mscale.setDuration(3000);// 3s startAnimation(mscale); } } /** * 设置默认显示文本 * @param value */ public void setOrigainText(String value){ this.setText(value); } /** * 从数据源取到数据,存到list中使用 * * @param value */ public void setFromSource(String value) { try { JSONObject jsonObject = new JSONObject(value); JSONArray jsonArray = jsonObject.optJSONArray("select"); if(jsonArray==null) { return; } for (int i = 0; i < jsonArray.length(); i++) { JSONObject data = (JSONObject) jsonArray.opt(i); list.add(data.getString("value"));// 加入数据 } } catch (JSONException e) { e.printStackTrace(); } } }
使用类如下:
package com.example.atooltipbar; import android.app.Activity; import android.os.Bundle; import android.widget.LinearLayout; public class MainActivity extends Activity { private LinearLayout layout; private Tooltipbar mTooltipbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); layout = new LinearLayout(this); setContentView(layout); initTooltipbar(); } /** * 生成一个滚动条 */ public void initTooltipbar() { mTooltipbar = new Tooltipbar(this); mTooltipbar.setOrigainText("hello,world!");//默认显示文本信息 //循环显示文本 mTooltipbar.setFromSource("{select:[{value:abc},{value:efg},{value:hiii},{value:jklm}]}"); mTooltipbar.setTextSize(30); layout.addView(mTooltipbar); } }
第一次写博客,望多指教,不喜勿喷,呵呵~
该工程下载地址:http://download.csdn.net/download/sword_cx/7490245
相关文章推荐
- qtp 获取弹出提示框(异常框)的文本显示信息(正则表达式和自定义函数应用)
- 一个流行且实用的JS表单验证提示,演示了怎么自定义错误信息的显示方式,同时通过写FormValid.showError类方法来实现错误显示方式自定义: errMsg 是一个错误消息的数组,这样方便自定
- ReportStudio入门教程(二十六) - 列表的悬浮提示信息-显示自定义信息
- highcharts图表组件通过设置tooltip属性自定义数据提示信息
- highcharts图表组件通过设置tooltip属性自定义数据提示信息
- Silverlight专题(4)-自定义提示信息
- PHP自定义弹出消息类,用于弹出提示信息并返回
- ToolTipController 信息提示自定义内容和风格
- [ios] alertview自定义提示信息【转】
- jqGrid 自定义 无数据提示信息
- ajaxToolkit中 Rating控件 自定义鼠标经过提示信息
- 使用自定义列显示班级学生信息,要求能够进 行删除和修改,删除时给出提示:如 “ 确信要删 除 - 张三 - 吗? ” ,其中张三为当前行的姓名
- 1 使用自定义列显示班级学生信息,要求能够进 行删除和修改,删除时给出提示:如 “ 确信要删 除 - 张三 - 吗? ” ,其中张三为当前行的姓名
- 黄聪:15个很好的自定义jQuery提示信息框插件( 转)
- ExtJs中Store加载(load)时候提示信息(自定义waitMsg--加载完毕关闭提示框)
- JFreeChart当鼠标停留在热点提示自定义信息功能
- struts2_自定义类型转换失败的提示信息
- IOS中 自定义访问用户Location时的提示信息
- 自定义提示信息弹出层
- android 自定义POP window弹出窗口,用于信息提示