【问题标题】:Nexus 7 Layout Size (Nexus 7 7.02")Nexus 7 布局尺寸(Nexus 7 7.02")
【发布时间】:2016-06-01 05:42:00
【问题描述】:

我正在学习 Android 开发,并使用 Android Studio 尝试了几个简单的应用程序。我想不通的一个问题是 Nexus 7 的屏幕(布局)尺寸。

这是我所做的:

  1. 使用 Andriod Studio(最新版本:2.1.1)创建一个包含一个空活动的新项目。没有更改任何内容并在 Nexus 7 API 19 (4.4) 模拟器上运行它。该应用程序以默认的“你好,世界!”启动信息。

  2. 我像这样更改了 res/values/strings.xml:

<resources>
<string name="app_name">Sample Layout Size (Default)</string>  
</resources>

应用启动时,屏幕显示如下: screen shot on Nexus 7

  1. 我创建了新文件夹 res/values-large,并在其下创建了新的 strings.xml 文件。 strings.xml 的内容为:

<resources>
<string name="app_name">Sample Layout Size (Large)</string>
</resources>

我预计当应用在 Nexus 7 上启动时,应用标题将更改为 Sample Layout Size (Large)。然而,它没有。它仍将应用标题显示为 Sample Layout Size (Default)

我创建了另一个虚拟设备 Nexus 7 API 23 并在其上启动了应用程序,结果相同。

我在 Nexus 9 API 23 上再次启动了该应用,这次标题更改为 Sample Layout Size (Large)

我还创建了另一个文件夹res/values-sw600dp,并在此目录下使用了一个新的 strings.xml,将应用名称指定为 Sample Layout Size (SW 600DP)。不工作。使用默认值的结果仍然相同:示例布局大小(默认)标题。

所以在我看来,Nexus 7 仍在使用默认布局。我在 Stack Overflow 上阅读了几篇关于 Nexus 7 的帖子,但没有一篇与我有同样的问题。

我知道这台 Nexus 7 是旧设备,所以我想知道多屏支持是否已更改为处理此类设备。

以下是 Nexus 7 模拟器的属性:

Name: Nexus_7_API_23
CPU/ABI: Google APIs Intel Atom (x86)
Path: C:\Users\Nathan\\.android\avd\Nexus_7_API_23.avd
Target: google_apis [Google APIs] (API level 23)
Skin: nexus_7_2013
SD Card: 100M
hw.dPad: no
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: Nexus 7 2013
vm.heapSize: 64
hw.device.manufacturer: Google
hw.gps: yes
image.androidVersion.api: 23
hw.audioInput: yes
image.sysdir.1: system-images\android-23\google_apis\x86\
tag.id: google_apis
hw.camera.back: none
hw.mainKeys: no
AvdId: Nexus_7_API_23
hw.camera.front: none
hw.lcd.density: 320
runtime.scalefactor: auto
avd.ini.displayname: Nexus 7 API 23
hw.gpu.mode: auto
hw.device.hash2: MD5:47dc70fd92541dd16c19f9efa3e9db62
hw.ramSize: 1536
hw.trackBall: no
hw.battery: yes
hw.sdCard: yes
tag.display: Google APIs
runtime.network.latency: none
hw.keyboard: yes
hw.sensors.proximity: no
disk.dataPartition.size: 800M
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes

附加的是问题设备的配置。 avd config

【问题讨论】:

  • 我还创建了另一个文件夹 res/values-sw600dp 并在此目录下使用了一个新的 strings.xml,将应用名称指定为 Sample Layout Size (SW 600DP)。不工作。使用默认值的结果仍然相同:Sample Layout Size (Default) title.
  • 以后,您应该只在问题中编辑附加信息,而不是使用 cmets。

标签: android android-layout nexus-7


【解决方案1】:

我认为他们现在建议使用sw600dp,但如果这不起作用,您可以创建values-large-portvalues-large-land 文件夹。希望对您有所帮助!

【讨论】:

  • 感谢您的建议。我尝试使用这些文件夹:values-large-port、values-large-land、values-sw600dp-port,它们都不起作用。
  • 奇怪,我刚试了一下,在使用 sw600 和陆地/端口文件夹时效果很好。
  • 您的文件夹名称的确切值是多少?值-sw600dp-端口?那很奇怪。我刚刚更新了我的模拟器设置的所有属性值。我找不到这些设置有什么问题(它们都是默认值)
  • 我想我找到了具体原因,但还没有答案。我创建的设备是 Nexus 7,其尺寸为 7.02",分辨率为 xhdpi。@prat 使用的设备是 Next 7 (2012)。该应用在 Next 7 (2012),但是在具有 xhdpi 密度的新 Next 7 上,没有任何效果。我猜这个特定的设备模拟器有一个错误。
  • 嗯,我猜你没有正确创建模拟器。我有一个 Nexus 7 平板电脑,它使用 sw600 和 values-large-land 或 values-large-port 可以正常工作。祝你好运!
【解决方案2】:

尝试添加

layout-sw600dp-land-tvdpi

layout-sw600dp-port-tvdpi

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    相关资源
    最近更新 更多