根据Android版本加载不同的视图

时间:2013-02-11 19:47:37

标签: android

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

您也可以使用代码检查版本(阅读here):

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

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