android Imageview Textview纯代码增加按下效果
2016-05-18 15:58
417 查看
1、Imageview代码实现按下效果,无需按下效果图片就可以实现。该怎么做呢?我们自定义个一个Imageview 继承ImageView。实现
2、使用起来也很简单:将这个类直接替换原先的TextView
使用这个按下效果的PressImageView ,用一张图片资源也可以轻松实现按下效果,不用ui给你切两张图,再写个selector了。
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" />
相关文章推荐
- Android使用Matrix对Bitmap进行处理
- Android RecyclerView通用Adapter及item拖拽、滑动删除
- Android中自定义视图View
- Android 6.0 Libc库中的弱引用使用
- Android 第一次接触ViewFilpper
- Android View measure流程详解
- Android M 新的运行时权限开发者需要知道的一切
- Android游戏笔记(六)Android游戏程序框架
- Android工具包下学习
- Android自底部平滑向上滑出面板的AndroidSlidingUpPanel
- Android多语言实现
- 基于Android平台的刷新加载形式初探
- 基于Android淡入淡出弹幕实现
- Android注解(Annotation)知识点总结整理
- android 中BroadcastReceiver 深入理解
- Android仿美团分类下拉菜单实例代码
- Android进度条——ProgressDialog
- Android中帧动画
- android adb命令
- Android Textview实现阴影效果