【问题标题】:Android: how to the design app for Smartphone AND Tablet?Android:如何为智能手机和平板电脑设计应用程序?
【发布时间】:2011-12-30 06:29:46
【问题描述】:

我知道已经有很多 blog entrieshow to'squestions 涵盖了 Android 3.0 应用程序的向后兼容性。

但是,在阅读完所有内容后,我比以前更加困惑。 :(

我拥有的是一个支持 min. SDK 版本 8 (2.2)。

我现在希望这个在智能手机上保持不变,但也在蜂窝平板电脑上提供一个花哨的版本,带有操作栏和片段等。

我知道有兼容包,但我读到的只是关于 Fragments 的内容。操作栏和全息主题是什么?只需在我的平板电脑上将 targetSdkVersion 更改为“11”,我就确实做到了这一点。我怎样才能通过兼容性包实现这一目标?

或者你会说开发两个不同版本的程序更好吗? (也许以后将它们合并在一起?)

亲切的问候, 水母

【问题讨论】:

标签: android sdk backwards-compatibility android-3.0-honeycomb android-support-library


【解决方案1】:

保留一个 apk 并为您的平板电脑使用替代资源。

看看:

http://code.google.com/p/iosched/source/browse/#hg%2Fandroid%2Fres

本节向您展示了如何在同一个 APK 中定位智能手机和平板电脑(带有蜂窝)的目录结构。

编辑

Honeycomb 上的精美版本

使用 Fragments 不会改变蜂窝中的 UI,它只是一种重用代码的方式。所以你不需要 Fragments 来让你的 UI 变得“花哨”

编辑 2

要查找当前正在运行的 Android 版本,您可以执行以下操作

int b = Integer.parseInt(Build.VERSION.SDK);              
if(b >= Build.VERSION_CODES.HONEYCOMB){
      Log.i(TAG, "Found A Tablet Running Honeycomb or newer");                  
 }

编辑 3

在您的活动调用getActionBar(); 中,您可以访问此处所述的所有操作栏方法:http://developer.android.com/reference/android/app/ActionBar.html

【讨论】:

  • /layout-xlarge-v11/ 是说布局文件 - X 大屏幕 (7inch+) - 版本 11,即 HoneyComb。因此,即在平板电脑上加载时使用此文件夹中的布局
  • 但是和兼容包一起,对吧? code.google.com/p/iosched/source/browse/android/res/… -> 否则,不可能有“片段”,不是吗?
  • 如果需要,您可以在布局文件中使用片段,是的,您需要片段库。
  • 建议带分片。正如您所说的另一种方法是,当类加载时(使用 Intent 等)检查 SDK 版本,如果(Tablet)运行 HomeActivityTablet.java 否则 HomeActivity.java
  • Erm 在你的 Activity 调用 getActionBar();然后,您可以访问此处所述的所有操作栏方法:developer.android.com/reference/android/app/ActionBar.html
【解决方案2】:

今年在 Google IO 上就这个主题进行了一次演讲。现已在 YouTube http://www.youtube.com/watch?v=WGIU2JX1U5Y&feature=youtube_gdata_player

上提供

【讨论】:

猜你喜欢
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-27
  • 1970-01-01
相关资源
最近更新 更多