0

至少在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() 方法中的相应布局:

setContentView(R.layout.activity_platypus);

这是一个简单的“彻底”(穿皮带吊带)的情况,还是耦合太紧的情况?布局端(到控制器/活动)的显式接线对我来说有点代码味道。如果我从 xml 中删除两个有问题的行(“xmlns:tools”和“tools:context”),它仍然可以正常工作,所以我不明白它们的用途。

我会为我半解耦活动/布局(控制器/视图)的毫秒而感到后悔吗?

4

0 回答 0