2

好吧,我想知道我是否可以为不同的 android 版本从同一个应用程序加载不同的视图。我认为我可以创建一个活动,该活动可以通过意图调用为不同版本的 android 定义的两个单独活动之一。我的意思是假设在一项活动中我使用了只能从冰淇淋三明治中获得的操作栏,而其他活动可能会使用早期 android 版本中的视图。

4

3 回答 3

1

1) 对于支持多个屏幕的布局,您可以参考这里

2)如果您想根据不同的android版本加载不同的布局,那么您可以创建不同的布局xml文件,然后在活动中,例如下面的代码

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {
     // only for android older than gingerbread
     //call setContentView with your layout
}

3)您可以在 res 文件夹内的 layout-v(version-number) 文件夹中进行布局。例如,对于 SDK 11,文件夹名称将为 layout-v11

于 2013-02-11T19:54:00.450 回答
0

是的。在您的 res 中创建一个 layout-vX 文件夹,其中 X 是版本号(例如 Honeycomb 为 11)。如果使用版本 X 或更高版本,其中的任何文件都将覆盖布局目录中文件的版本。

于 2013-02-11T19:51:19.917 回答
0

如果您只需要操作栏,我强烈建议您使用actionbarsherlock 库

您还可以使用代码检查版本(在此处阅读):

 if(VERSION.SDK_... <VERSION_CODES.... ) 

并通过设置版本的限定符,如此处所写,例如,对于需要在 API 11 及更高版本上使用的资源,放置限定符 v11 。

于 2013-02-11T19:56:21.203 回答