android Imageview Textview纯代码增加按下效果
来源:互联网 发布:列宁德国间谍知乎 编辑:程序博客网 时间:2024/05/04 04:32
1、Imageview代码实现按下效果,无需按下效果图片就可以实现。该怎么做呢?我们自定义个一个Imageview 继承ImageView。实现
onTouchEvent()方法,当按下的时候设置alpha( 一般建议0.5),当按下停止时,设置为原来的alpha(1.0)
public class PressImageView extends ImageView { public PressImageView(Context context) { super(context); } public PressImageView(Context context, AttributeSet attrs) { super(context, attrs); } public PressImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_MOVE: setAlpha(0.5f); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_OUTSIDE: setAlpha(1.0f); break; } return super.onTouchEvent(event); }}
2、同样 TextView 是同样的原理,直接贴代码:当产品和ui设计师想让你按下的时候文字也有一个按下效果时,就可以派上用场了
public class PressTextView extends TextView { public PressTextView(Context context) { super(context); } public PressTextView(Context context, AttributeSet attrs) { super(context, attrs); } public PressTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_MOVE: setAlpha(0.6f); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_OUTSIDE: setAlpha(1.0f); break; } return super.onTouchEvent(event); }}
2、使用起来也很简单:将这个类直接替换原先的TextView
<包名.xx.xx.PressTextView //这个类在你的项目中的实际路径android:id="@+id/text"android:layout_width="match_parent"android:layout_height="45dp"android:gravity="center"android:text="有按下效果的textview"android:textColor="#fffabc"android:textSize="16sp" />
使用这个按下效果的PressImageView ,用一张图片资源也可以轻松实现按下效果,不用ui给你切两张图,再写个selector了。
<包名.xx.xx.PressImageView //这个类在你的项目中的实际路径android:id="@+id/imageview"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center" />
0 0
- android Imageview Textview纯代码增加按下效果
- android实现TextView、ImageView等按压效果
- ImageView增加动画效果
- 使用TextView实现ImageView效果
- Android 纯代码添加点击效果
- Android selector控制TextView和Button按下效果
- Android TextView 字体描边效果代码
- Android下TextView实现跑马灯效果
- ImageView和TextView的background点击效果
- 旋转ImageView和TextView的效果实现
- Android ImageView和TextView居中
- 在android下编译纯C代码
- Android基本组件——1.Button、ImageView等的按下效果
- android代码库之textview跑马灯效果
- android代码库之textview跑马灯效果
- android textview 文本在代码中设置粗体效果
- android textview 文本在代码中设置粗体效果
- Android textview 代码中设置粗体效果
- 简单HDFS使用Journalnode HA部署
- makefile 文件中的宏
- 一般人都能看懂的git教程
- 人人快递打造首届全民“520是爱节”,勇敢表达你的爱
- Android游戏笔记(六)Android游戏程序框架
- android Imageview Textview纯代码增加按下效果
- 什么是沙盒(sandbox)?沙盒包含哪些文件,描述每个文件的使用场景。如何获取这些文件的路径?如何获取应用程序包中文件的路径?
- 开发流程告诉你,为什么是软件工程师而不是码农
- JUnit中@BeforeClass@AfterClass@Before@After和@Test
- IntentService的使用
- 【T_SQL】 基础 续+++
- 移植speex库
- 如何实现球随鼠标移动
- 复制构造函数 与 赋值函数 的区别