如题,简单的实现了跑马灯效果,把Scroll.java放入android.view包下,XML使用如下:
<?xml version="1.0" encoding="utf-8"?>
<Scroll xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dip"
android:layout_height="wrap_content">
<!--注意:Scroll里的布局或者控件元素只能有一个可以用布局嵌套布局/控件来使用,当Scroll里的唯一元素的宽度超过Scroll效果最好,如果不超过没加处理,有兴趣可以自己加上-->
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="放大镜流口水附近拉神经分裂卡上的经费里卡迪神经分裂空间爱上" />
</Scroll>
代码如下:
----------------------------------------------转载请注明出处-----------------------------------------------
本帖隐藏的内容需要回复才可以浏览
public class Scroll extends HorizontalScrollView implements Runnable
{
private View inner;
private Bitmap bitmap = null;
/**
* 滚动步长
*/
private int step = 5;
private int x;
private int width;
private int pWidth;
private int pHeight;
/**
* 滚动间隔距离
*/
private int space = 10;
public Scroll(Context context, AttributeSet attrs)
{
super(context, attrs);
setBackgroundColor(android.R.color.transparent);
}
@Override
protected void onFinishInflate()
{
if (getChildCount() == 1)
{
inner = getChildAt(0);
}
}
@Override
protected void onDetachedFromWindow()
{
super.onDetachedFromWindow();
handler.removeCallbacks(this);
}
@Override
protected void onDraw(Canvas canvas)
{
if (getWidth() == 0)
{
android.view.ViewGroup.LayoutParams lp = getLayoutParams();
lp.width = pWidth;
lp.height = pHeight;
setLayoutParams(lp);
}
if (bitmap == null && inner != null)
{
width = inner.getMeasuredWidth();
bitmap = Bitmap.createBitmap(width, inner.getHeight(), Config.RGB_565);
Canvas canvas1 = new Canvas(bitmap);
inner.draw(canvas1);
pWidth = getWidth();
pHeight = getHeight();
if (inner != null)
{
removeViewInLayout(inner);
inner = null;
}
run();
}
if (bitmap != null)
{
int nowX = x;
nowX -= step;
canvas.drawBitmap(bitmap, nowX, 0, null);
if (nowX < 0)
{
canvas.drawBitmap(bitmap, width + nowX + space, 0, null);
}
if (nowX <= -width)
{
nowX = 0;
}
x = nowX;
}
super.onDraw(canvas);
}
private Handler handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
super.handleMessage(msg);
}
};
@Override
public void run()
{
invalidate();
handler.postDelayed(this, 500);
}
}
----------------------------------转载请注明出处-----------------------------------------------
另外提供了一个可以直接跑的附件,不过附件里的只是一个TextView,大家可以把它换上LinearLayout里加上n个TextView看看,前提是LinearLayout要是Horizontal的
- Scroll.rar (42 KB)
- 下载次数: 1
发表评论
-
ScrollView嵌套Edittext
2015-04-08 18:26 790scrollview 中加入多个控件如 edittext 后会 ... -
Android圆角图片
2015-03-11 17:44 649my_wane_shape.xml 快速圆角背景边框实现, ... -
SQLite多线程读写实践及常见问题总结
2015-02-13 17:06 903基本操作的部分,大家都很熟悉了,这里根据个人切身经验,总结了一 ... -
android加速度感应
2015-01-19 10:25 14351.android测量数据 (1)android设备坐标系 ... -
MatrixCursor的使用
2015-01-19 09:49 1013ContentProvider对外共享数据的时候的query( ... -
Android 获取控件的宽高高级用法(MeasureSpec)
2015-01-15 14:23 939一个MeasureSpec封装了父 ... -
Android_GridView_GridView概述及实现水平滑动
2015-01-14 17:14 11171.GridView简介 GridView是ViewGroup ... -
Android MMS,SMS之常用Uri
2014-09-19 16:32 1291Android MMS,SMS之常用Uri Android ... -
android短彩信查询以及MMS表结构
2014-09-19 16:31 2104android短信的数据库的Uri是不公开的, 读取起来时灰常 ... -
使用Android自带DownloadManager下载文件
2014-08-19 11:04 734SDK在API Level 9中加入了DownloadMan ... -
android textview里链接点击事件,增加图片
2014-08-07 16:45 1101Android系统默认给TextView插入图片提供了三种方 ... -
android Home事件汇总
2014-07-18 11:30 966方法一:android 4.0以后无法通过更改页面的类型来 ... -
Android风格与主题(style and theme)
2014-07-16 16:35 638Android xml风格和主题文 ... -
Android中播放声音的两种方法
2014-05-30 15:09 608在Android中,音频、视 ... -
android 杀进程方法
2014-05-26 17:43 972关闭应用的方法: 1.System.exit(0); ... -
android service 生命周期
2014-04-21 16:16 739有了 Service 类我们如何启动他呢,有两种方法: ... -
解决ADB端口被占用的问题
2014-04-21 16:14 783究其源就是adb server没启动 经过分析整理如下: ... -
输入法隐藏打开
2013-12-23 14:24 768首次进入activity,如果有个edittex ... -
google经纬度互转
2013-07-11 16:34 895https://developers.google.com/ ... -
android 安装删除软件
2013-07-08 17:19 11111、 Android.mk文件 LOCAL_PA ...
相关推荐
主要介绍了Android基于TextView不获取焦点实现跑马灯效果,结合实例形式分析了Android基于TextView实现跑马灯的功能与布局相关技巧,需要的朋友可以参考下
完美实现多个textview 的跑马灯效果,外加各个textview的点击事件(用布局移动实现)
主要介绍了Android TextView跑马灯效果实现方法,涉及Android布局文件中相关属性的设置技巧,非常简单实用,需要的朋友可以参考下
Android自带的跑马灯效果不太好控制,还必须要满足条件才能有效果,而且速度不受控制。前面我的博客中有一篇就是用Android自带的跑马灯效果的,但是基于不同的使用效果,这里在网上找到了一个更好的方法。沿用了作者...
本文实例为大家分享了android使用TextView实现跑马灯效果的具体代码,供大家参考,具体内容如下 先上效果图:此为静态图,实际动态中文字匀速向左滑动。 实现步骤: 第一步:创建好布局页面 <?xml version=...
主要介绍了Android TextView跑马灯效果实现方法,涉及Android布局文件中相关属性的设置技巧,非常简单实用,需要的朋友可以参考下
本文实例为大家分享了Android自定义textview实现跑马灯效果的具体代码,供大家参考,具体内容如下 xml布局 <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=...
本文实例讲述了Android实现跑马灯效果的方法。分享给大家供大家参考。具体如下: 运行效果截图如下: 直接在布局里写代码就好了: <TextView android:id=@+id/menu_desc android:layout_width=300dip ...
项目中欢迎词多的时候需要实现上下滚动,了解到在android中TextView可以轻松实现横向跑马灯效果,但是对垂直滚动没有直接的支持方法,于是百度上谷歌,谷歌上百度,最终还是没有发现一个拿来即用的demo,呵呵,于是...
TextView实现文字的跑马灯效果&TextSwitcher实现文字竖直飞出和飞入,使用的纯代码布局方式。
由于项目需求需要用的可控制性高的跑马灯效果,所以自己写了一个自定义的TextView 注意:在布局文件引用本view时,paddingLeft,paddingRigh都必须为0dp,需要增加这两个属性的,大家可以自行修改代码。 android:...
自定义刷新Layout,布局放Listview,TextView或别的控件都可以,亲测完整Demo,欢迎使用
文字跑马灯:TextView的跑马灯效果以及TextView的一些属性 具体实现 首先是布局文件中添加了如下代码,这些代码就是实现控制台的,给整体设置了一个invisible,为了让他点击有音乐播放的时候控制台才显示出来: <...
《老罗Android开发视频教程》第四集:TextView实现跑马灯效果.mp4 《老罗Android开发视频教程》第四集:JavaWeb实现产品表维护二.mp4 《老罗Android开发视频教程》第十集:经纬度和地址的转换.avi 《老罗Android开发...
6.4 TextView实现跑马灯效果 6.5 EditText输入表情图像 6.6 EditText中输入特定的字符 6.7 AutoCompleteTextView完成输入 6.8 Button按钮的焦点变化 6.9 Button图文混排的按钮 6.10 RadioButton单选按钮的使用 6.11 ...
自定义跑马灯MarqueeView,用TextView 出现了各种坑啊 , 尤其是在页面中同时存在EditText 的时候,简单的用法,完善的功能,希望您能喜欢! 效果图 : gif录制出来有点怪,可以安装看看实际效果 HowTo Use?/...
[Android1_5]TextView跑马灯效果 - 农民伯伯 - 博客园.mht376.70 KB [Android1_5]打开多个Activity,返回到第一个Activity的问题 - 农民伯伯 - 博客园.mht396.35 KB [Android1_5]标签TabHost图片文字覆盖的问题 - ...
1、文字横向滚动只是直接用TextView实现跑马灯效果 2、文字竖向滚动实际上是在布局中加入了两个TextView使用,使用handler控制显示和隐藏,加上动画实现的竖向滚动。 3、竖向的View滚动可实现类似淘宝首页的效果,...