屏幕旋转时坐标的切换怎么实现呢?
目前在做移动平台的UI开发,做旋转屏幕时遇到一个问题。
当前窗口的所有控件坐标都是通过宏定义的。当旋转屏幕后,相应的坐标值都要修改的。不知道旋转的时候,怎样修改这些值。举个简单的C语言的例子形象说明我的问题:
当前代码:
.h:
#define WIDTH 240
#define HEIGHT 320
绘制的时候调用该宏:
.c
Draw(WIDTH ,HEIGHT );
由于要调整屏幕想修改成的代码:
.h:
#ifdef ISWIDTHSCREEN /* 开关 */
#define WIDTH 240
#define HEIGHT 320
#else
#define WIDTH 320
#define HEIGHT 240
#endif
应用层保持不变。
.c
Draw(WIDTH ,HEIGHT );
遇到的问题:我想通过动态打开或者关闭ISWIDTHSCREEN来实现坐标的改变,也就是当需要改变屏幕方向时,想办法打开或者关闭该宏。不知道没有办法实现呢?
没有的话,不知道还有没有其他比较可行的办法达到上面的目的,非常感谢!
[解决办法]
你最好么不要用宏 宏么在你的case下面会比较讨厌
你是否可以hard code一些值
加上一些你判断横竖屏幕的逻辑 比如长大于宽 就是竖直的
类似的函数
getHeight ()
{
if (height>width)
return height;
else
return width
}