android锁屏应用解锁界面, 钥匙imageview滑动到锁imageview上时, 锁imageview改变图片会使容器重画, 钥匙imageview跳回初始位置, 请问这个该怎么解决?
高洛峰
高洛峰 2017-04-17 11:53:52
[Android讨论组]
final ImageView iv_key = (ImageView) findViewById(R.id.key);
final ImageView iv_unlock = (ImageView) findViewById(R.id.unlock);
iv_key.setOnTouchListener(new OnTouchListener() {
int Y, lastY;
int lastL, lastT, lastR, lastB;

@Override
public boolean onTouch(View view, MotionEvent event) {

switch (event.getAction()) {

    case MotionEvent.ACTION_DOWN:
    lastY = (int) event.getRawY();
    Y = lastY;
    lastL = view.getLeft();
    lastT = view.getTop();
    lastR = view.getRight();
    lastB = view.getBottom();
    break;

    case MotionEvent.ACTION_MOVE:
     LockScreenActivity.viewPager.
                    requestDisallowInterceptTouchEvent(true);

    int distanceY = (int) event.getRawY() - lastY;

    int l = view.getLeft();
    int r = view.getRight();
    int t = view.getTop() + distanceY;
    int b = view.getBottom() + distanceY;

    //假如向下滑,碰到unlock图标,unlock变色
if(distanceY > 0 && iv_unlock.getTop() < (view.getBottom()-10)){                        

iv_unlock.setImageResource(R.drawable.unlock_shape_bg_pressed);
}
// 画出移动中的控件
view.layout(l, t, r, b);                
lastY = (int) event.getRawY();                  
break;
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
天蓬老师

找到解决办法了. 把所有图片放在一个 level-list 里, 每个图片不同的level值. 然后在java里用ImageView.setImageLevel(Integer); 来动态改变显示的图片, 就可以了.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号