美文网首页
android布局实现斗鱼直播页面

android布局实现斗鱼直播页面

作者: 爱写代码的小王子 | 来源:发表于2021-09-05 16:50 被阅读0次
前言:

最近回顾以前学习的知识,发现许多都忘了,刚好重新复习一遍andorid布局的内容。

界面效果:
image.png
布局容器、ViewGroup和View之间的关系
  • View:单个视图 (TextView ImageView Button)
  • ViewGroup:视图组=视图容器 可以容纳多个视图 继承于View
  • 布局容器:继承于ViewGroup,实现特有的布局方式(线性布局、约束布局、相对布局)
image.png
ViewGroup

ViewGroup确定测量、布局⼦视图和事件分发
wrap_content:指示您的视图将其⼤⼩调整为内容所需的尺⼨。
match_parent:指示您的视图尽可能采⽤其⽗视图组所允许的最⼤尺⼨
margin:和父容器或其它控件的间距
padding:自己内部的间距

LinearLayout线性布局

⽤于使所有⼦视图在单个⽅向(垂直或⽔平)保持对⻬。您可使⽤android:orientation属性指定布局⽅向。

RelativeLayout线性布局

RelativeLayout是一个以相对位置显示子视图的试图组,每个视图的位置指定为相对于同级元素的位置(例如,在另⼀个视图的左侧或下⽅)或相对于⽗级RelativeLayout区域的位置(例如在底部、左侧或中⼼对⻬)。

ConstraintLayout约束布局

ConstraintLayout可让您使⽤扁平视图层次结构(⽆嵌套视图组)创建复的⼤型布局。它与RelativeLayout相似,其中所有的视图均根据同级视图与⽗布局之间的关系进⾏布局,但其灵活性要⾼于RelativeLayout,并且更易于与Android Studio的布局编辑器配合使⽤。

下面是上课做的笔记:

     1.xml配置 layout下创建.xml文件 进行界面布局
     2.code创建 手动使用代码来创建界面或者是添加控件
      一个界面就是一个Activity
      一个界面上显示什么内容 -->控件 视图
      View:单个的 看得到的 可以和用户交互的 控件
      ViewGroup:容器 可以存放多个View/ViewGroup 并且管理view的布局
      根据每个容器具体功能划分:
      FrameLayout 帧布局
      LinearLayout 线性布局
      RelativeLayout 相对布局 A和B之间有相对对齐关系 (左 右 上 下 中心)
      ConstraintLayout 约束布局

      FrameLayout
           每个容器都有自己的LayoutParams类 管理子控件的布局参数
           Xml中引用某个资源 使用@开头
      layout_width/height 固定的尺寸200dp match_parent和父容器一样大 wrap_content自己内容多大控件就多大
      当添加子控件时,最后添加的控件在最外层,如果控件足够大,会覆盖之前的控件
      layout_margin 设置和父容器左右上下的外间距
      layout_marginStart/Left 和父容器左边的外间距
      padding 视图本身的内容和这个视图之间的间距

      FrameLayout很少用,主要是布局不方便

      LinearLayout
          只有横向或者纵向布局的界面 -> 线性布局
          1.必须确定摆放的方式 横向、纵向
            orientation 默认横向摆放
            layout_weight 权重
                   给宽度或者高度设置为0dp
                   设置对应的比例值
          2.注意 容器的嵌套不要太多 效率低 计算容器的尺寸
            小第 -> 组长 ->部门经理 ->主管 ->副总 ->总经理 ->董事长
      RelativeLayout 相对布局 子控件和子控件之间 子控件和父控件之间可以添加对齐的关系

      xml中使用 id来标识每一个控件
下面进入项目实战:

在布局界面添加对应控件

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.25" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.5" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.37" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.6" />

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.85" />

    <com.makeramen.roundedimageview.RoundedImageView
        android:id="@+id/imageView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginStart="20dp"
        android:layout_marginTop="20dp"
        android:layout_marginEnd="20dp"
        android:scaleType="centerCrop"
        android:src="@drawable/banner"
        app:layout_constraintBottom_toTopOf="@+id/guideline"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_goneMarginBottom="20dp"
        app:riv_corner_radius="10dp" />

    <LinearLayout
        android:id="@+id/l1"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toStartOf="@+id/l2"
        app:layout_constraintHorizontal_chainStyle="spread_inside"
        app:layout_constraintStart_toStartOf="@+id/imageView"
        app:layout_constraintTop_toTopOf="@+id/guideline">

        <ImageView
            android:id="@+id/img1"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/bjx"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l2"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toStartOf="@+id/l3"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/l1"
        app:layout_constraintTop_toTopOf="@+id/guideline">

        <ImageView
            android:id="@+id/img2"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/bm"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l3"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toStartOf="@+id/l4"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/l2"
        app:layout_constraintTop_toTopOf="@+id/guideline">

        <ImageView
            android:id="@+id/img3"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/cs"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l4"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toStartOf="@+id/l5"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/l3"
        app:layout_constraintTop_toTopOf="@+id/guideline">

        <ImageView
            android:id="@+id/img4"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/hm"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l5"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/guideline4"
        app:layout_constraintEnd_toEndOf="@+id/imageView"
        app:layout_constraintStart_toEndOf="@+id/l4"
        app:layout_constraintTop_toTopOf="@+id/guideline">

        <ImageView
            android:id="@+id/img5"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/jm"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l6"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toTopOf="@+id/guideline2"
        app:layout_constraintEnd_toStartOf="@+id/l7"
        app:layout_constraintHorizontal_chainStyle="spread_inside"
        app:layout_constraintStart_toStartOf="@+id/l1"
        app:layout_constraintTop_toTopOf="@+id/guideline4">

        <ImageView
            android:id="@+id/img6"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/m"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l7"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="@+id/l6"
        app:layout_constraintEnd_toStartOf="@+id/l8"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/l6"
        app:layout_constraintTop_toTopOf="@+id/l6">

        <ImageView
            android:id="@+id/img7"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/q"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l8"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="@+id/l7"
        app:layout_constraintEnd_toStartOf="@+id/l9"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/l7"
        app:layout_constraintTop_toTopOf="@+id/l7">

        <ImageView
            android:id="@+id/img8"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/sk"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l9"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="@+id/l8"
        app:layout_constraintEnd_toStartOf="@+id/l10"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toEndOf="@+id/l8"
        app:layout_constraintTop_toTopOf="@+id/l8">

        <ImageView
            android:id="@+id/img9"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/sl"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/l10"
        android:layout_width="wrap_content"
        android:layout_height="88dp"
        android:gravity="center_horizontal"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="@+id/l9"
        app:layout_constraintEnd_toEndOf="@+id/l5"
        app:layout_constraintStart_toEndOf="@+id/l9"
        app:layout_constraintTop_toTopOf="@+id/l9">

        <ImageView
            android:id="@+id/img10"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:contentDescription="@string/desc"
            app:srcCompat="@drawable/hmao"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="194dp" />

        <TextView
            android:id="@+id/tv10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="@string/title1"
            tools:layout_editor_absoluteX="20dp"
            tools:layout_editor_absoluteY="249dp" />
    </LinearLayout>

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="25dp"
        android:layout_height="25dp"
        app:layout_constraintBottom_toTopOf="@+id/guideline3"
        app:layout_constraintStart_toStartOf="@+id/l6"
        app:layout_constraintTop_toTopOf="@+id/guideline2"
        app:srcCompat="@drawable/fire" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/guess"
        android:textColor="#121111"
        android:textSize="15dp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="@+id/imageView3"
        app:layout_constraintStart_toEndOf="@+id/imageView3"
        app:layout_constraintTop_toTopOf="@+id/imageView3" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/con1"
        android:layout_width="166dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toTopOf="@+id/guideline5"
        app:layout_constraintEnd_toStartOf="@+id/con2"
        app:layout_constraintHorizontal_chainStyle="spread_inside"
        app:layout_constraintStart_toStartOf="@+id/imageView3"
        app:layout_constraintTop_toTopOf="@+id/guideline3">

        <com.makeramen.roundedimageview.RoundedImageView
            android:id="@+id/Limg1"
            android:layout_width="166dp"
            android:layout_height="89dp"
            android:scaleType="centerCrop"
            android:src="@drawable/pic1"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:riv_corner_radius="10dp" />

        <TextView
            android:id="@+id/name1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="5dp"
            android:layout_marginBottom="5dp"
            android:text="荒野大爷"
            android:textColor="#fff"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/Limg1"
            app:layout_constraintStart_toStartOf="@+id/Limg1" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="5dp"
            android:text="4.5万"
            android:textColor="#fff"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/name1"
            app:layout_constraintEnd_toEndOf="parent" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:text="你在教我玩游戏?"
            android:textColor="#000"
            app:layout_constraintBottom_toTopOf="@+id/imageView7"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Limg1" />

        <ImageView
            android:id="@+id/imageView7"
            android:layout_width="22dp"
            android:layout_height="22dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:srcCompat="@drawable/v" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="绝活卡尔使用者"
            android:textColor="#D74F25"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/imageView7"
            app:layout_constraintStart_toEndOf="@+id/imageView7"
            app:layout_constraintTop_toTopOf="@+id/imageView7" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/con2"
        android:layout_width="166dp"
        android:layout_height="0dp"
        android:layout_marginStart="10dp"
        app:layout_constraintBottom_toTopOf="@+id/guideline5"
        app:layout_constraintEnd_toEndOf="@+id/l10"
        app:layout_constraintStart_toEndOf="@+id/con1"
        app:layout_constraintTop_toTopOf="@+id/guideline3"
        app:layout_constraintVertical_bias="0.0">

        <com.makeramen.roundedimageview.RoundedImageView
            android:id="@+id/Limg2"
            android:layout_width="166dp"
            android:layout_height="89dp"
            android:scaleType="centerCrop"
            android:src="@drawable/pic1"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:riv_corner_radius="10dp" />

        <TextView
            android:id="@+id/name2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="5dp"
            android:layout_marginBottom="5dp"
            android:text="荒野大爷"
            android:textColor="#fff"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/Limg2"
            app:layout_constraintStart_toStartOf="@+id/Limg2" />

        <TextView
            android:id="@+id/rd2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="5dp"
            android:text="4.5万"
            android:textColor="#fff"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/name2"
            app:layout_constraintEnd_toEndOf="parent" />

        <TextView
            android:id="@+id/title2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:text="你在教我玩游戏?"
            android:textColor="#000"
            app:layout_constraintBottom_toTopOf="@+id/jh2"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/Limg2" />

        <ImageView
            android:id="@+id/jh2"
            android:layout_width="22dp"
            android:layout_height="22dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:srcCompat="@drawable/v" />

        <TextView
            android:id="@+id/des2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="绝活卡尔使用者"
            android:textColor="#D74F25"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/jh2"
            app:layout_constraintStart_toEndOf="@+id/jh2"
            app:layout_constraintTop_toTopOf="@+id/jh2"
            app:layout_constraintVertical_bias="0.0" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.97" />
</androidx.constraintlayout.widget.ConstraintLayout>

相关文章

网友评论

      本文标题:android布局实现斗鱼直播页面

      本文链接:https://www.haomeiwen.com/subject/mamjwltx.html