至少在Droidio(Android Studio)中(我不知道Eclipse,但也可能是ItelliJ Idea的情况,因为Droidio基于它),当你创建一个新的Activity时,相应的Layout文件也创造了。默认情况下,它通过两个属性紧密耦合到Activity,即下面的“xmlns:tools”和“tools:context”行:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="4dip"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="hhs.app.PlatypusActivity">
这对我来说似乎很奇怪/不必要,因为Activity也以这种方式自动绑定到其* .java文件的onCreate()方法中的相应Layout:
setContentView(R.layout.activity_platypus);
这是一个简单的“彻底”(穿着和吊带)的情况,还是一个过于紧密耦合的情况?布局方面(对于Controller / Activity)的显式布线对我来说有一点代码味道。如果我从xml(“xmlns:tools”和“tools:context”)中删除两条有问题的行,它仍然可以正常工作,所以我不明白它们的用途是什么。
我会活到毫秒,我将活动/布局(控制器/视图)半解耦吗?