【安卓特效】如何给ImageView加上遮罩,点击时泛黑、或泛白、?
2014-07-02 22:04
218 查看
基本思路:
方法1.遮罩可直接叠加一层带alpha的纯白、或纯黑View,可直接在ImageView外套一层FrameLayout,其foreground(一般同学可能只知道background,其实framelayout还有foreground)给定一个selector(按下时给0x33000000,即泛黑),到位。
方法2.重写imageView,按下状态改变时invalidate(触发onDraw),onDraw中根据按下状态绘制0x33000000。注意imageView.setClickable(true),或imageView.setOnClickListener时才可触发dispatchSetPressed。
方法1.遮罩可直接叠加一层带alpha的纯白、或纯黑View,可直接在ImageView外套一层FrameLayout,其foreground(一般同学可能只知道background,其实framelayout还有foreground)给定一个selector(按下时给0x33000000,即泛黑),到位。
方法2.重写imageView,按下状态改变时invalidate(触发onDraw),onDraw中根据按下状态绘制0x33000000。注意imageView.setClickable(true),或imageView.setOnClickListener时才可触发dispatchSetPressed。
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 取id // imgTest = (ImageView) findViewById(R.id.imgTest); loMain = (RelativeLayout) findViewById(R.id.loMain); findViewById(R.id.btn1).setOnClickListener(this); findViewById(R.id.btn2).setOnClickListener(this); MyImg myImg = new MyImg(this); myImg.setImageResource(R.drawable.meinv); myImg.setClickable(true); loMain.addView(myImg); } private class MyImg extends ImageView { public MyImg(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); if (isPressed()) canvas.drawColor(0x33000000); } @Override protected void dispatchSetPressed(boolean pressed) { // TODO Auto-generated method stub super.dispatchSetPressed(pressed); invalidate(); } }
相关文章推荐
- 【安卓特效】怎样给ImageView加上遮罩,点击时泛黑、或泛白、?
- Android ListView 嵌套 ImageView,如何响应ImageView的点击和长按事件
- 【Android】如何动态根据需要的用Java添加安卓控件——以ImageView为例~~
- 在安卓开发中如何在代码中设置ImageView中src中这个参数
- 如何实现点击GridView中一个图片后,如何传递至一个新的Activity中的imageview里面显示?
- Android - VGA,ADB,DDMS,安卓开发环境目录结构,安卓目录结构,常见布局,点击事件的几种写法,控件(Button/TextView/ImageView/EditText)
- 安卓开发中如何获取网络图片并设置到ImageView?
- android ,点击title的ImageView弹出PopupWindow【安卓进化七】
- android ,点击title的ImageView弹出PopupWindow【安卓进化七】
- 如何用数据驱动实现通用化巡检APP(如何一个界面里添加多个点击拍照按钮并显示在不同的imageview里)
- 为ImageView设置点击样式
- 如何让一个button 的 backgroundimage 等比例缩放 background imageview 并不完美
- ipad 添加到imageView中的按钮没有点击事件
- 如何让listView加入的HeaderView不可点击
- 如何将Android ImageView放到布局的中心
- android给 TextView 加上效果和事件响应 判断是否点击函数
- 安卓个人学习------ImageView,SeekBar,TableHost,ProgressBar的使用
- 如何动态的获取和设置ImageView的宽度和高度?
- ListView中加上加FootView和点击按钮动态加载listview
- android中ListView点击和里边按钮或ImageView点击不能同时生效问题解决