androidStudio开发安卓APP的五种框架布局界面设计

开发安卓APP的五种框架界面设计

开发安卓app,我们需要美观的界面,然后这些界面,我们必须要掌握的就是对应的框架布局,本次博客,我们将进行app界面的五种框架布局,并给出对应的界面设计的例子

(一)、线性布局框架

1、简单介绍如下:

在这里插入图片描述
在这里插入图片描述

2、实例如下:

计算器的布局
在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<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:layout_weight="12"
    tools:context=".work1">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/work1"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:text="9.7"
        android:inputType="none"
        android:gravity="right"
        android:background="@drawable/edit_bg"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="3">
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="7"/>
         <Button
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:textSize="@dimen/Size"
             android:layout_weight="1"
             android:text="8"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="@dimen/Size"
            android:layout_weight="1"
            android:text="9"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="@dimen/Size"
            android:layout_weight="1"
            android:text="/"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="3">
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="4"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="@dimen/Size"
            android:layout_weight="1"
            android:text="5"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="@dimen/Size"
            android:layout_weight="1"
            android:text="6"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="@dimen/Size"
            android:layout_weight="1"
            android:text="*"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="3">
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="@dimen/Size"
            android:layout_weight="1"
            android:text="1"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textSize="@dimen/Size"
            android:layout_weight="1"
            android:text="2"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="3"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="-"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="3">
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="0"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="."/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="+"/>
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:textSize="@dimen/Size"
            android:text="="/>
    </LinearLayout>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="CLEAR"
        android:textSize="@dimen/Size"
        android:layout_weight="3"/>
</LinearLayout>

(二)、框架布局框架

1、简单介绍如下:

在这里插入图片描述

2、实例如下:

播放视频的界面设计:
在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_weight="12"
    android:layout_height="match_parent"
    tools:context=".work2">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:src="@drawable/view4"/>
        <ImageView
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:id="@+id/play"
            android:layout_marginTop="480dp"
            android:layout_marginLeft="249dp"
            android:visibility="visible"
            android:src="@drawable/play"/>
    </FrameLayout>

</LinearLayout>

(三)、表格布局框架

1、简单介绍如下:

有多少个TableRow对象就有多少行,
列数等于最多子控件的TableRow的列数
直接在TableLayout加控件,控件会占据一行
TableLayout属性(也叫全局属性):*代表所有列
android:shrinkColumns -------设置可收缩的列,(内容过多,则收缩,扩展到第二行,控件没布满TableLayout时不起作用)
android:stretchColumns ------设置可伸展的列,(有空白则填充)
列可以同时具备stretchColumns及shrinkColumns属性
android:collapseColumns ------设置要隐藏的列(索引列从0开始)
内部控件属性:
android:layout_column -------该单元格在第几列显示
android:layout_span -------该单元格占据列数,默认为1

2、实例如下:

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_weight="5"
    android:layout_height="match_parent"
    tools:context=".work4">
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FF4081"
        android:layout_weight="4"
        android:shrinkColumns="0,1,2">
        <Button
            android:text="我独占一行"/>
        <TableRow
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="0000000000000000"
                android:textSize="20dp"/>
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="1111111111111111"
                android:textSize="20dp"/>
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="2222222222222222"
                android:textSize="20dp"/>
        </TableRow>
        <TableRow
            android:layout_weight="1">
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="2222222222222222"
                android:textSize="20dp"/>
            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_span="2"
                android:text="我占两列"
                android:textSize="20dp"/>
        </TableRow>
    </TableLayout>
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffcd6b"
        android:shrinkColumns="0,1"
        android:stretchColumns="0,1">
        <TableRow>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="填充一"/>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="填充二"/>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="普通三"/>
        </TableRow>
    </TableLayout>
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:shrinkColumns="0,1,2"
        android:layout_weight="5"
        android:stretchColumns="0,1,2">
        <TableRow>
            <ImageView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:src="@drawable/pto5"/>
            <ImageView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:src="@drawable/pto6"/>
            <ImageView
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:src="@drawable/pto7"/>
        </TableRow>
    </TableLayout>
</LinearLayout>

(四)、绝对布局框架

1、简单介绍如下:

在这里插入图片描述
AbsoluteLayout(绝对布局)
又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy)
由于手机屏幕尺寸差别比较大
使用绝对定位的适应性会比较差,在屏幕的适配上有缺陷
AbsoluteLayout子类控件的属性
android:layout_x=”35dip” 控制当前子类控件的x位置
android:layout_y=”40dip” 控制当前子类控件的y位置

2、实例如下:

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="236dp"
        android:layout_y="94dp"
        android:text="Button" />
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="143dp"
        android:layout_y="166dp"
        android:text="Button" />
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="33dp"
        android:layout_y="263dp"
        android:text="Button" />
</AbsoluteLayout>

(五)、相对布局框架

1、简单介绍如下:

在这里插入图片描述

2、实例如下:

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_weight="12"
    android:layout_height="wrap_content"
    tools:context=".work3">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_weight="8"
        android:layout_height="wrap_content">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/back"
            android:src="@drawable/pto4" />
        <ImageView
            android:layout_width="130dp"
            android:layout_height="130dp"
            android:id="@+id/pto"
            android:layout_marginTop="70dp"
            android:layout_marginLeft="5dp"
            android:src="@drawable/pto"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edit"
            android:layout_marginTop="70dp"
            android:hint="@string/work31"
            android:layout_marginLeft="5dp"
            android:layout_toRightOf="@id/pto"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/edit1"
            android:hint="@string/work32"
            android:inputType="textPassword"
            android:layout_marginTop="120dp"
            android:layout_marginLeft="5dp"
            android:layout_toRightOf="@id/pto"/>
        <CheckBox
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:id="@+id/left"
            android:layout_toRightOf="@id/pto"
            android:layout_marginLeft="5dp"
            android:text="记住密码"
            android:layout_below="@+id/edit1"/>
        <CheckBox
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edit1"
            android:id="@+id/right1"
            android:layout_toRightOf="@+id/left"
            android:text="自动登录"
           />
    </RelativeLayout>
     <Button
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:text="登录"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <TextView
            android:layout_width="match_parent"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textColor="#FF4081"
            android:text="忘记密码?"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textColor="#FF4081"
            android:gravity="right"
            android:text="注册账号"/>
    </LinearLayout>
</LinearLayout>

本次博客的页面布局框架就讲解到这里哦,感谢大家查看,记得点赞留言评论哦!

发布了10 篇原创文章 · 获赞 2 · 访问量 2027

猜你喜欢

转载自blog.csdn.net/qq_42451251/article/details/104031291
今日推荐