`

Android学习笔记001_布局01

阅读更多
<EditText android:id="@+id/edit_message"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:hint="@string/edit_message" />
<EditText android:id="@+id/edit_msg2"
        android:layout_width="match_parent" //2.2之后代替fill_parent
        android:layout_height="wrap_content"
        android:hint="@string/edit_msg" //默认显示字符串 
        />
<Button
	android:layout_weight="1"
	android:layout_width="0dp"
	android:layout_height="wrap_content"
	android:text="@string/btn_send_msg"
	android:onClick="sendMsg"
	/>

Android:id
这里定义的是View的唯一标示符,你可以在程序的代码里进行引用,你可以对这个类进行读和修改的操作.当你想从XML里使用资源类的时候必须使用@符号,紧随@之后的是资源的类型(这里是id),然后是资源的名字(这里使用的是edit_message)。(其他的资源可以使用相同的名字只要他们不是相同的资源类型,例如:字符串资源可以使用相同的名字)
+号只是当你第一次定义一个资源ID的时候需要。这里是告诉SDK此资源ID需要被创建出来。在应用程序被编译之后,SDK就可以直接使用ID值,edit_message是在项目gen/R.java文件中创建一个新的标示符,这个标示符就和EditText关联起来了。一旦资源ID被创建了,其他资源如果引用这个ID就不再需要+号了。这里是唯一一个需要+号的属性

View的权重android:layout_weight="2"是2,另一个View的权重是1,那么总数就是3,这时第一个View占据2/3的空间,第二个占据1/3的空间。为了达到更有效的布局,在你设置权重的时候,你应该把EditText的宽度设置为0。如果你设置为"wrap_content"作为宽度,系统需要自己去计算这个部件所占有的宽度,而此时的因为你设置了权重,所以系统自动回占据剩余空间,EditText的宽度最终成了不起作用的属性。

android:onClick="sendMsg"点击事件方法名字必须一致,特别是,这个方法必须满足以下条件:公共的,没有返回值,有一个唯一的视图(View)参数(这个视图就是将被点击的视图)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics