Java 我的活动如何在两种布局上运行?
基本上,我有两个xml布局。一个是小屏幕尺寸,另一个是大屏幕尺寸。在我的小屏幕XML布局中,我实际上只是复制大屏幕XML中的内容(保持所有内容不变,例如:id名称等),只更改文本大小和按钮大小。然后,在我的活动代码中使用一个条件如下调用它们:Java 我的活动如何在两种布局上运行?,java,android,Java,Android,基本上,我有两个xml布局。一个是小屏幕尺寸,另一个是大屏幕尺寸。在我的小屏幕XML布局中,我实际上只是复制大屏幕XML中的内容(保持所有内容不变,例如:id名称等),只更改文本大小和按钮大小。然后,在我的活动代码中使用一个条件如下调用它们: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (condition){ setConten
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (condition){
setContentView(R.layout.bigScreenSize);
} else{
setContentView(R.layout.smallScreenSize);
}
我的问题是,为什么我的应用程序没有崩溃,而是正常运行?这是因为两个XML布局上的属性ID相同吗?谢谢
为什么我的应用程序没有崩溃,而是正常运行
这是可行的,因为它确实可以使用两种布局。您可以为单个活动使用尽可能多的布局,但不能同时使用
这是因为两个XML布局上的属性ID相同吗
这不是因为您引用的是相同的属性ID,而是因为您引用的是两种xml布局中可用的现有ID
为什么我的应用程序没有崩溃,而是正常运行
这是可行的,因为它确实可以使用两种布局。您可以为单个活动使用尽可能多的布局,但不能同时使用
这是因为两个XML布局上的属性ID相同吗
这不是因为您引用的是相同的属性ID,而是因为您引用的是两种xml布局中可用的现有ID
为什么我的应用程序没有崩溃,而是正常运行
因为所需的视图(文本/按钮)在xml中可用。换句话说,所有id在两种XML中都可用
如果id值或任何视图丢失/不匹配,应用程序将抛出错误
为什么我的应用程序没有崩溃,而是正常运行
因为所需的视图(文本/按钮)在xml中可用。换句话说,所有id在两种XML中都可用
如果id的值或任何视图丢失/不匹配,应用程序将抛出错误。您针对大小屏幕的方法与谷歌的建议不一致 为了针对不同的屏幕大小优化ui,您确实需要不同的布局,但它们必须相同(就id而言),并且只能包含在不同的布局目录中 更多信息 为什么我的应用程序没有崩溃,而是正常运行
为什么你希望你的应用程序崩溃?让id指向不同的小部件/视图是完全正常的。只要一个人不同时指向两种不同的观点。在您的情况下,一次只使用两个布局中的一个(大或小)。因此,android正确地识别了我在布局中所指的视图。您针对小屏幕和大屏幕尺寸的方法与谷歌的建议不一致 为了针对不同的屏幕大小优化ui,您确实需要不同的布局,但它们必须相同(就id而言),并且只能包含在不同的布局目录中 更多信息 为什么我的应用程序没有崩溃,而是正常运行
为什么你希望你的应用程序崩溃?让id指向不同的小部件/视图是完全正常的。只要一个人不同时指向两种不同的观点。在您的情况下,一次只使用两个布局中的一个(大或小)。因此,android可以正确识别我在布局中引用的视图。我建议使用配置限定符来解决这样的差异-
是因为在两个XML布局上都有相同的属性ID吗?
是的-它拥有您尝试访问的所有内容。但正如@JohnO'Reilly提到的,你做错了。在Android上,您可以使用各种机制来解决这个问题-无需使用if()
i建议使用配置限定符来解决类似的差异-是因为两个XML布局上的属性ID相同吗
是的-它拥有您尝试访问的所有内容。但正如@JohnO'Reilly提到的,你做错了。在Android上,你有一些机制可以帮你解决这个问题-不需要if()
sThank you very thank you very thank you