微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 在代码中旋转一个按钮(或里面的文本)

我必须通过编码随机旋转一个按钮(或内部文本,它是相同的). API级别中的任何button.setRotate(x)是否低于11?

最佳答案
好的,看看,答案是:它很复杂.

您可以使用旧动画框架旋转按钮,例如像这样:

Button button = (Button) findViewById(R.id.button);

// rotation from 0 to 90 degrees here
RotateAnimation a = new RotateAnimation(0,90);
a.setFillAfter(true);
a.setDuration(0);
button.startAnimation(a);

这里的问题是按钮看起来旋转,但无法正确单击.触发点击事件的坐标是按钮在旋转之前所在区域的坐标.

由于这不是一个非常好的解决方案,最好的办法是编写一个自定义视图,扩展Button类并在onDraw()中旋转按钮画布.在这种情况下,您还必须覆盖onMeasure().有关如何操作的信息,请参阅Custom Components.

除此之外,您可以尝试拦截按钮父布局中的单击事件,并在按钮当前坐标内发生单击时触发相应的事件.但这有点“hacky”.

原文地址:https://www.jb51.cc/android/430518.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐