组件布局最好通过一个兄弟组件或者父组件确定其位置坐标。
gravity属性,能容在组件内部的位置
EditText中的提示属性hint,以及如何设置密码的输入格式
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:padding="15dp" 6 tools:context=".MainActivity" > 7 8 <TextView 9 android:id="@+id/labelText" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:gravity="center" 13 android:text="登录界面" /> 14 15 <EditText 16 android:id="@+id/usernameText" 17 android:layout_below="@id/labelText" 18 android:layout_width="wrap_content" 19 android:layout_height="wrap_content" 20 android:layout_alignRight="@id/labelText" 21 android:layout_alignLeft="@id/labelText" 22 android:hint="username"/> 23 24 <EditText 25 android:id="@+id/passwordText" 26 android:layout_below="@id/usernameText" 27 android:layout_width="wrap_content" 28 android:layout_height="wrap_content" 29 android:layout_alignRight="@id/usernameText" 30 android:layout_alignLeft="@id/usernameText" 31 android:hint="password" 32 android:inputType="textPassword"/> 33 34 <Button 35 android:id="@+id/cancelButton" 36 android:layout_width="wrap_content" 37 android:layout_height="wrap_content" 38 android:layout_below="@id/passwordText" 39 android:layout_alignRight="@id/passwordText" 40 android:text="取消"/> 41 42 <Button 43 android:id="@+id/loadButton" 44 android:layout_width="wrap_content" 45 android:layout_height="wrap_content" 46 android:layout_toLeftOf="@id/cancelButton" 47 android:layout_alignBottom="@id/cancelButton" 48 android:text="登入"/> 49 50 51 </RelativeLayout>