Android AbsoluteLayout 绝对布局
Android AbsoluteLayout 绝对布局是通过坐标 (x,y) 来控制组件如何在屏幕中显示,包括定义组件的坐标(x,y) 和定义组件的宽高(width 和 height)
该组件布局现在已经被废弃了,不建议在公司的项目中使用
但这个布局我们很少用,因为现在手机的尺寸繁多,可能在4寸的手机上是显示正常的,而换成5寸的手机,就可能出现偏移和变形
Android AbsoluteLayout 四大控制属性
Android AbsoluteLayout 以 dp
作为尺寸单位
属性 | 说明 |
---|---|
android:layout_width | 组件宽度 |
android:layout_height | 组件高度 |
android:layout_x | 设置组件的 X 坐标 |
android:layout_y | 设置组件的 Y 坐标 |
登录界面
接下来我们使用 Android AbsoluteLayout 来实现一个简单的登录界面
-
首先创建一个 空的 Android 项目
cn.twle.android.AbsoluteLayout
-
修改
res/values/string.xml
添加几个中文字符资源<resources> <string name="app_name">GridLayout</string> <string name="email">邮 箱</string> <string name="password">密 码</string> <string name="login">登 陆</string> </resources>
-
修改
activity_main.xml
添加登录页面布局<AbsoluteLayout 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"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="16dp" android:layout_y="135dp" android:text="@string/email" tools:layout_editor_absoluteX="36dp" tools:layout_editor_absoluteY="64dp" /> <EditText android:id="@+id/login_email" android:layout_width="256dp" android:layout_height="wrap_content" android:layout_x="64dp" android:layout_y="123dp" android:inputType="textEmailAddress" tools:layout_editor_absoluteX="124dp" tools:layout_editor_absoluteY="64dp" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_x="16dp" android:layout_y="193dp" android:text="@string/password" tools:layout_editor_absoluteX="36dp" tools:layout_editor_absoluteY="82dp" /> <EditText android:id="@+id/login_password" android:layout_width="256dp" android:layout_height="wrap_content" android:layout_x="64dp" android:layout_y="180dp" android:inputType="textPassword" tools:layout_editor_absoluteX="124dp" tools:layout_editor_absoluteY="87dp" /> <Button android:id="@+id/login_btn" android:layout_width="256dp" android:layout_height="wrap_content" android:layout_x="63dp" android:layout_y="247dp" android:text="@string/login" tools:layout_editor_absoluteX="145dp" tools:layout_editor_absoluteY="271dp" /> </AbsoluteLayout>