我想像现实中的指南针一样将手表的显示旋转到不同的程度吗?到目前为止,我只在三星API中发现了此功能
screen.lockOrientation("portrait-secondary");
我想对此进行更多控制,如果那意味着使用本机API,那很好,但是我需要在哪里寻找帮助。
答案 0 :(得分:1)
您可以尝试使用 evas_map_util_rotate() 函数旋转对象。它根据角度和旋转的中心坐标(旋转点)旋转地图。正角使地图顺时针旋转,负角使地图逆时针旋转。
请查看this link的使用实用程序功能修改地图部分。它包含一个示例,该示例演示如何将对象绕其中心点顺时针旋转45度。
您还可以使用以下示例代码段。
@param[in] object_to_rotate The object you want to rotate
@param[in] degree The degree you want to rotate
@param[in] cx The rotation's center horizontal position
@param[in] cy The rotation's center vertical position
void view_rotate_object(Evas_Object *object_to_rotate, double degree, Evas_Coord cx, Evas_Coord cy)
{
Evas_Map *m = NULL;
if (object_to_rotate == NULL) {
dlog_print(DLOG_ERROR, LOG_TAG, "object is NULL");
return;
}
m = evas_map_new(4);
evas_map_util_points_populate_from_object(m, object_to_rotate);
evas_map_util_rotate(m, degree, cx, cy);
evas_object_map_set(object_to_rotate, m);
evas_object_map_enable_set(object_to_rotate, EINA_TRUE);
evas_map_free(m);
}
希望会有所帮助。