- 浏览: 408895 次
- 性别:
- 来自: 福州
最新评论
-
野牛精:
感谢楼主分享,帮大忙了。
android ftp 客户端编写(ftp4j) -
happytianqiu:
你好,我最近也在搞这个,能发个demo吗,邮箱是:624951 ...
开发android机顶盒应用 事件,焦点处理 -
zhunanfengfeimeng:
http://www.iteye.comhttp://www. ...
android ftp 客户端编写(ftp4j) -
icyttea:
好棒!感谢楼主分享
vlc for android录制视频与截图 -
clwwlc:
有demo吗
开发android机顶盒应用 事件,焦点处理
一个文本渐渐地从左到右的显示。
几步就可以了实现了。利用的是View的fade边缘。当然也可以自己画,可是没有成功。
几步就可以了实现了。利用的是View的fade边缘。当然也可以自己画,可是没有成功。
直接上代码: class FadeTextView extends TextView { long delta=70l; //步进时间 int width=0; //字符串宽度 int widthPixels=0; //字符串的显示宽度 int wp=4; //字符串的显示宽度步进 public FadeTextView(Context context) { super(context); init(); } public FadeTextView(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a= context.obtainStyledAttributes( attrs, R.styleable.FadeTextView); delta=(long) a.getInt(R.styleable.FadeTextView_fade_txt_delta, (int) delta); wp=a.getInt(R.styleable.FadeTextView_fade_txt_wp, wp); init(); } public FadeTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); TypedArray a= context.obtainStyledAttributes( attrs, R.styleable.FadeTextView, defStyle, 0); delta=(long) a.getInt(R.styleable.FadeTextView_fade_txt_delta, (int) delta); wp=a.getInt(R.styleable.FadeTextView_fade_txt_wp, wp); init(); } //关于delta,wp这两个属性是在attrs.xml中配置的。动画显示的速度由这两个值控制,当然要加入时间的话,也是可以。以时间为第一选择,然后才是每次显示的宽度 private void init() { setSingleLine(true); setHorizontalFadingEdgeEnabled(true); //这两句才能显示出阴影效果。 widthPixels=4; width=(int) getPaint().measureText(getText().toString()); KeelLog.v("init.width:"+width+" getText().toString():"+getText().toString()); postDelayed(mRunnable, delta); } @Override public void setText(CharSequence text, BufferType type) { super.setText(text, type); init(); } //这个是最重要的方法,就是对TextView设置宽度,因为当一个TextView宽度不够显示出文本时,边缘会有阴影效果。当然还要设置单行的,否则是不行的。 public void setWidthLength(int pixels) { setWidth(pixels); } Runnable mRunnable=new Runnable() { @Override public void run() { //KeelLog.d("update:"+widthPixels+" width:"+width); if (width>0&&widthPixels<width) { widthPixels+=wp; setWidthLength(widthPixels); postInvalidate(); postDelayed(mRunnable, delta); } else { //removeCallbacks(mRunnable); } } }; } attrs.xml <declare-styleable name="FadeTextView"> <attr name="fade_txt_delta" format="reference|integer"/> <attr name="fade_txt_wp" format="reference|integer"/> </declare-styleable> 如果使用xml,则不会产生阴影,而是... ,这可能要设置一些属性。 用java代码添加: LinearLayout layout;//=new LinearLayout(this); layout=(LinearLayout) findViewById(R.id.layout); layout.setOrientation(LinearLayout.VERTICAL); layout.setBackgroundColor(R.color.holo_green_light); final FadeTextView textView=new FadeTextView(this); //textView.setWidthLength(8); LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); //layoutParams.gravity=Gravity.CENTER; textView.setTextSize(28); textView.setText("互联网电视"); layout.addView(textView, layoutParams); 就可以看效果了。 View中的画阴影的代码:这段代码不起作用。就只能用上面的笨办法来淡入显示文本了。 int saveCount; int length=40; //fade length float right; float top=0; float bottom; float fadingEdgeLength=25f; float rightFadeStrength=5f; public Paint paint; public Matrix matrix; public Shader shader; private void drawTxt(Canvas canvas) { /*setFadingEdgeLength(length); setHorizontalFadingEdgeEnabled(true); setFadeColor(Color.GREEN);*/ right=getRight(); bottom=getBottom(); fadingEdgeLength=getHeight(); saveCount=canvas.getSaveCount(); int solidColor=getSolidColor(); if (solidColor==0) { final int flags=Canvas.HAS_ALPHA_LAYER_SAVE_FLAG; canvas.saveLayer(right-length, top, right, bottom, null, flags); } else { setFadeColor(solidColor); } // Step 5, draw the fade effect and restore layers final Paint p=paint; final Matrix matrix=MyTextView.this.matrix; final Shader fade=shader; final float fadeHeight=fadingEdgeLength; matrix.setScale(1, fadeHeight*rightFadeStrength); matrix.postRotate(90); matrix.postTranslate(right, top); fade.setLocalMatrix(matrix); canvas.drawRect(right-length, top, right, bottom, p); KeelLog.d(VIEW_LOG_TAG, String.format("top:%f,right:%f,bottom:%f,(right-length):%f,fadingEdgeLength:%f", top, right, bottom, right-length, fadingEdgeLength)); canvas.restoreToCount(saveCount); } private void init() { setText(subText); right=getRight(); bottom=getBottom(); paint=new Paint(); matrix=new Matrix(); // use use a height of 1, and then wack the matrix each time we // actually use it. shader=new LinearGradient(0, 0, 0, 1, 0xFF000000, 0, Shader.TileMode.CLAMP); paint.setShader(shader); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT)); } 其中两个重点是:canvas.saveLayer(right-length, top, right, bottom, null, flags); 遮罩层。就是阴影部分。 shader=new LinearGradient(0, 0, 0, 1, 0xFF000000, 0, Shader.TileMode.CLAMP); paint.setShader(shader); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));//填充方式,大概是中间空的,边缘较突出的 可是上面的代码画不出阴影。失望。 如果有同学用这段代码画出来了,希望回复。
发表评论
-
android 批量打渠道包
2014-09-16 17:27 5882打包,是一个经常会遇到的问题,写个脚本就可以解决了.不同的脚本 ... -
vlc for android录制视频与截图
2014-09-08 18:31 8027首先说明,这不算原 ... -
android百度地图转为高德地图
2014-08-11 11:09 2960使用百度地图也不少时间了,但是一直出现无法解决的问题,在官 ... -
编译 i9000的cm系统
2014-08-04 13:10 1590[color=red][b]此文 并不 ... -
mp4v2 保存h264流
2014-05-01 21:15 11821大侠已经完成了很多操作了,唯一不足的是,工程完整性差一些,而且 ... -
baidumap的缩放到看到所有点
2014-04-09 21:03 1452之前使用1.3.5版本的sdk,通过调用mapviewcont ... -
ViewPager 查看图片
2014-02-13 12:59 4515一个图片查看器 , app到处都是 , 但那是别人的. 现在的 ... -
机顶盒 页面 选中后的 动画
2013-12-05 09:39 2179前面已经说过了,对于机顶盒的焦点的处理. 相信有不少人看 ... -
引爆你的图片浏览, ListView 大图片
2013-11-05 07:58 1310之前发现,ListView里面的图片资源越占越大,特别是当 ... -
微博开放源码
2013-10-23 12:09 1030微博程序已经发布不少时间了,但一直也没有很多用户使用,主要在用 ... -
Mupdf 缩小apk包,减少字体
2013-10-20 15:53 3714在以前的apv中,字体占了很大的一部分,如果去除cjk字体 ... -
ActionBar appcompat 解决碎片化问题
2013-09-15 16:58 2175actionbarsherlock 这个在api11以下的系统 ... -
android机顶盒获取有线mac
2013-09-02 16:09 5493直接上代码: public static String ... -
android竖着的seekbar
2013-08-22 20:33 5526以前网上有位虾士发过一篇文章是关于竖着的seekbar,但是也 ... -
新浪微博oauth2.0 自动认证
2013-08-13 09:01 0oauth2.0作者认为它不先进,都放弃了.但是oauth2. ... -
android 颜表情.
2013-07-20 21:16 1833在使用TagsViewGroup 流布局后,我替换了原来的Gr ... -
flow 流布局.
2013-07-13 20:06 1300在git上看到一个FlowingViewGroup,代码有点旧 ... -
开发android机顶盒应用 事件,焦点处理
2013-07-13 19:58 19829机顶盒应用不同于手机 ... -
android 磁盘缓存.
2013-07-13 19:30 5285开发一个app,特别是图片的app,免不了要存储图片,内存缓存 ... -
制造垃圾短信
2013-01-28 14:25 1425往系统中插入一条短信息,然后在通知栏中通知,点击通知栏后可以在 ...
相关推荐
应用Secret 中的效果实现的文字淡入淡出的效果,不同的文字淡入淡出的效果、速度是不同的。项目地址:https://github.com/matthewrkula/SecretTextView效果图:如何使用SecretTextView继承了android.widget.TextView...
对于TextView,我们可以利用ObjectAnimator或ValueAnimator来改变其属性,如alpha(透明度)或scaleX/scaleY(缩放比例),从而实现文字的淡入淡出、放大缩小等动画效果。 6. **XML布局中的自定义视图**: 完成...
在Android开发中,为了增强用户界面的互动性和吸引力,开发者有时会希望在TextView中实现一些特殊效果,例如让文字闪烁。这个任务可以通过自定义View来完成,具体涉及到的知识点包括自定义View、线性渲染以及动画...
本示例源码提供了20多种不同的TextView文字效果,帮助开发者在实际项目中实现更加丰富和吸引人的文本展示。这些效果可以增强用户体验,使应用的信息呈现更加生动和专业。以下是针对这些效果的详细解释: 1. **...
`TextView`动画实现的基本思路是通过改变`TextView`的`alpha`(透明度)属性或`scaleX`、`scaleY`(缩放比例)属性来达到文字渐显或渐隐的效果。这里,`TextViewHide`可能是一个示例项目,它展示了如何创建并应用...
为TextView添加动画效果,如淡入淡出、闪烁、滑动等,可以增加用户的交互体验。可以利用Android的动画库,如`ObjectAnimator`或`ValueAnimator`,以及属性动画来实现。 3. **文字渐变色** 如果需要让TextView的...
默认情况下,TextSwitcher提供了淡入淡出的动画效果,但开发者可以根据需求自定义动画。 **使用TextSwitcher:** 1. **布局文件中声明:** 在XML布局文件中,可以通过`<android.widget.TextSwitcher>`标签来声明一...
此外,对于复杂的滚动效果,可能还需要考虑文本的淡入淡出、平滑滚动等动画效果,这可能需要用到`ObjectAnimator`或其他动画库。 最后,从提供的压缩包文件名"TextView上下滚动"来看,其中可能包含了实现这种滚动...
9. **文本动画**:可以使用`TextAnimator`类为TextView添加动画效果,如淡入淡出、滚动等。 10. **动态加载文本**:在运行时动态更新TextView的内容,常用于获取网络数据后显示。 11. **富文本显示**:通过`...
4. **动画效果**:高级TextView可能支持各种动画效果,如淡入淡出、滚动文本、闪烁等。这可以通过Android的Animation框架或属性动画API实现。 5. **可点击事件**:TextView不仅可以显示文本,还可以响应用户的触摸...
如果还需要实现淡入效果,可以创建一个`fade_in.xml`文件,将`fromAlpha`改为`0.0`,`toAlpha`改为`1.0`,然后在需要的地方应用。 通过以上步骤,你可以在Android应用中轻松实现文字的淡出效果。在实际开发中,还...
`TextView`支持淡入淡出、滚动等动画效果,通过`Animation`或`TextAnimation`类实现。 9. **自定义样式** - 可以通过创建样式资源文件来统一设置`TextView`的样式,然后在多个地方复用。 - `android:...
这使得在TextView中实现复杂动画变得轻松,比如文字打字机效果、飘雪效果等。 2. **Android-Text-Animation**:这个库提供了许多预定义的文字动画效果,如飞入、飞出、弹跳等,可以直接应用于TextView,简化开发...
本篇将详细讲解如何实现TextView的动画效果,以"TextView动画效果"为主题,基于作者hanks-zyh的开源项目HTextView。 首先,HTextView是对Android原生TextView的扩展,它提供了丰富的文字动画功能。源码简单易懂,...
在动态文字效果中,我们可以结合`ValueAnimator`改变TextView的透明度,实现淡入淡出效果。 5. **GestureDetector**:为了响应用户的滑动操作,我们需要监听滑动事件。`GestureDetector`可以帮助我们捕获滑动、点击...
4. **文本动画效果**:利用ObjectAnimator或PropertyAnimator,可以对TextView的alpha、scaleX、scaleY等属性进行动画操作,实现淡入淡出、放大缩小等特效。 其次,Button作为用户进行交互的主要组件,其特效设计...
另外,`android:fadeScrollbars`可以控制滚动条淡入淡出效果。 11. **自定义字体** 通过`android:typeface`属性加载自定义字体,或者在代码中使用`Typeface`类加载并设置字体。 12. **触摸反馈** `android:...
在用户界面设计中,有时为了增加交互性和视觉吸引力,我们希望让TextView中的文字具有动态效果,比如随机动画。本项目"android-TextView-Animation"就是专注于实现这样的效果,使得TextView内部的文字能够产生美观的...
TextView支持多种动画效果,如淡入淡出、平移等,可以使用`TextSwitcher`或自定义动画实现。 9. **自定义字体** 可以通过加载本地字体文件或在线字体库,自定义TextView的字体。首先将字体文件放入res/font目录,...
11. **动画效果**:通过Animation或Transition动画,可以为TextView添加淡入淡出、平移、缩放等动画效果。 12. **文字测量和布局**:TextView会根据文本内容自动计算宽度和高度,开发者可以通过`TextView.getPaint...