首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检测Android在我的应用程序中选择的布局?

如何检测Android在我的应用程序中选择的布局?
EN

Stack Overflow用户
提问于 2012-06-26 18:08:07
回答 8查看 26.9K关注 0票数 71

假设我有一个活动,在不同的资源文件夹中有三个不同的布局。例如:

layout-land/my_act.xml

layout-xlarge/my_act.xml

layout-xlarge-land/my_act.xml

在不同的设备和不同的位置,其中一个是由Android选择的。

我怎样才能知道哪一个是以编程方式选中的?

Android是否有任何API可以将这些布局返回给程序?

编辑Graham Borland's solution在我在评论中提到的某些情况下有问题。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-07-26 21:32:25

您可以为每个支持的配置创建一个values-<config>目录。在每个目录中,使用描述当前配置的单个selected_configuration字符串创建一个strings.xml。在运行时,使用标准的getString方法获取字符串,该方法将为您执行配置解析并返回配置的正确字符串。这是未经测试的。

票数 45
EN

Stack Overflow用户

发布于 2012-06-26 18:20:00

您可以在每个不同的资源文件中的视图上设置不同的android:tag属性,并在运行时使用View.getTag()读回标记。

示例:

layout-xlarge-land/my_act.xml

<View
    android:id="@+id/mainview"
    android:tag="xlarge-landscape"
/>

layout-xlarge/my_act.xml

<View
    android:id="@+id/mainview"
    android:tag="xlarge-portrait"
/>

MyActivity.java

String tag = view.getTag();
if (tag.equals("xlarge-landscape") {
    ...
}
票数 73
EN

Stack Overflow用户

发布于 2012-07-04 01:04:56

你可以尝试重复这个算法"How Android Finds the Best-matching Resource" -它非常简单,特别是如果你只针对不同的屏幕有不同的布局。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11205020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档