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

前端之家收集整理的这篇文章主要介绍了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”.

猜你在找的Android相关文章