加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何在Windows上实现Android的倾斜效果?

发布时间:2020-12-14 04:32:36 所属栏目:Windows 来源:网络整理
导读:当 Android OS上点击按钮时,我想实现倾斜效果. 倾斜效果:整个按钮不会被视为按下.只有触摸事件发生的部分似乎被按下. 这在Android上很容易吗? 一个简单的方法是使用画布绘制四边形. 考虑四个角落. “未触动”的矩形将是全尺寸,触摸的矩形将更小. 您只需要
当 Android OS上点击按钮时,我想实现倾斜效果.

倾斜效果:整个按钮不会被视为按下.只有触摸事件发生的部分似乎被按下.

这在Android上很容易吗?

一个简单的方法是使用画布绘制四边形.

考虑四个角落. “未触动”的矩形将是全尺寸,触摸的矩形将更小.

您只需要使用您为矩形的每个部分计算的点绘制四边形.您可以获得触摸位置,然后找出给予每个点多少“重量”.

要计算每个角落,你需要弄清楚多少“重量”给予触摸的坐标,以及多少“重量”给出未触动的坐标.如果触摸左上角,该角将使用100%的触摸坐标,而其他三个角将全部使用未触动的坐标.

如果你碰到顶部的中间,你会得到一个这样的形状:

我们可以通过计算距离您的触摸角多远的距离来计算任何触摸点的角落

float untouchedXWeight1 = Math.abs(xt - x1)/width;
    //maximum of 1,minimum of 0

    float untouchedYWeight1 = Math.abs(yt - y1)/height;

    float untouchedWeight1 = (untouchedXWeight1 + untouchedYWeight1)/2;
    //also maximum of 1,minimum of 0

    float touchedWeight1 = 1 - untouchedWeight1;

所以用这些权重,你可以计算出你的x和y位置的角落:

x1 = xUntouched1 * untouchedWeight + xTouched1 * touchedWeight1;
y1 = yUntouched1 * untouchedWeight + yTouched1 * touchedWeight1;

然后对其他3个角落做同样的事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读