本节内容

1.Demo分析

2.添加第三方库支持圆角

3.添加一个item

4.添加所有item

5.猜你喜欢

6.底部模块布局

7.给布局添加内容

一、Demo分析

1.我们要做的界面如下图所示

image.png

2.整体是一个约束布局。但是其中又嵌套了多层LinearLayout。

3.每部分又有不一样的模块,可以用到guideLine进行分割。并为其添加百分比,来确定该引导线的位置。

二、添加第三方库支持圆角

1.布局页面中的图片都是圆角,为了让我们添加的图片显示为圆角,只需要在gradle中的dependencies中添加一个依赖库即可,如下图所示。

implementation 'com.makeramen:roundedimageview:2.3.0'

2.然后我们在xml中拖动一个ImageView进去,在代码中将它的 改为我们添加的Rounded那个,也就是圆角的View。

3.然后我们还要为其添加圆角的角度,直接在上面的那个

app:riv_corner_radius="10dp"

三、添加一个item

1.先拖动一张图片到主界面上来,再拖动一个TextView过来,为了方便设置TextView的文字内容,我们在values的string.xml中,添加一个name为title的文本

斗鱼直播

美食

猜你喜欢

2.把它们都整好了以后,再回到代码中,用LinearLayout把这个图片和文字包裹起来。设置orientation为vertical,并给它设置一个id为1。想要让它们居中,设置一下android:gravity="center_horizontal"即可。

android:id="@+id/l1"

android:layout_width="wrap_content"

android:layout_height="95dp"

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/l2"

app:layout_constraintTop_toTopOf="@+id/guideline">

android:id="@+id/img1"

android:layout_width="50dp"

android:layout_height="50dp"

app:srcCompat="@drawable/bm"

tools:layout_editor_absoluteX="20dp"

tools:layout_editor_absoluteY="193dp" />

android:id="@+id/tv1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:text="@string/title"

tools:layout_editor_absoluteX="20dp"

tools:layout_editor_absoluteY="251dp"

tools:text="王者" />

四、添加所有item

1.然后我们拷贝一下上面的代码,然后在它的下方粘贴另外四个控件。因为拷贝的时候添加了所有的约束,所以我们需要修改一个id,再修改一下约束。

2.选中所有的五个控件,然后右击选择chains,让他们horizontal chains一下。最好选spread inside,然后再修改对应的图片资源。

3.同理,按照以上的方式布局下面五个控件。

五、猜你喜欢

1.拖动一张图片和TextView进来,通过约束布局直接布局一下。可以设置一下字体的风格和大小。再让它们中心对齐一下。

android:id="@+id/imageView2"

android:layout_width="25dp"

android:layout_height="25dp"

app:layout_constraintBottom_toTopOf="@+id/guideline2"

app:layout_constraintStart_toStartOf="@+id/l7"

app:layout_constraintTop_toTopOf="@+id/guideline3"

app:srcCompat="@drawable/fire" />

android:id="@+id/textView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/guess"

android:textColor="@android:color/black"

android:textSize="15dp"

android:textStyle="bold"

app:layout_constraintBottom_toBottomOf="@+id/imageView2"

app:layout_constraintStart_toEndOf="@+id/imageView2"

app:layout_constraintTop_toTopOf="@+id/imageView2" />

六、底部模块布局

1.底部模块包含文字和图片,而且有的文字还直接在图片上方,所以我们最好用ConstraintLayout。

2.我们先在code添加一个ConstraintLayout,再给他添加一个id。

七、给布局添加内容

1.先拖动一张图片进去,然后让它跟容器的左右两边对齐,并选择宽度为match_parent。如果想让图片为圆角,可以把它改为RoundedView,并设置圆角半径。

2.拖动一个TextView在图片底部左方,并在代码中设置它的颜色和字体的大小。

3.再拖动一个TextView在图片底部的右方,和上面的操作一样,最好设置同样的颜色和字体。

4.再拖动一个TextView在图片下方,再设置一下字体颜色。直接让它的左边和容器左边对齐。

5.剩下的布局和上面的操作类似,都可以直接进行拖动布局。

6.设置好一个容器之后,我们可以复制粘贴一下,然后拖动布局一下,再修改一下相应的图片资源和文字内容。

经过上述布局后,运行起来差不多就是如下效果:

image.png

本节内容只是为了让我们更好地理解一下各种布局的使用方法,还不能实现一点击就能进入直播间的功能。

斗鱼 android系统,Android开发(3)——斗鱼主页实战相关推荐

  1. Android系统级开发进程清理功能的一些记录和发现(一)

    Android系统级开发清理功能的一些记录和发现 客户需求做一键清理所有后台进程的功能,在查阅网上相关博客以及自己研究以后找到以下几种方法: killBackgroundProcesses() 这种方 ...

  2. Android系统级开发进程清理功能的一些记录和发现

    Android系统级开发清理功能的一些记录和发现 客户需求做一键清理所有后台进程的功能,在查阅网上相关博客以及自己研究以后找到以下几种方法: killBackgroundProcesses() 这种方 ...

  3. android原生系统开发板,刷android系统到开发板上.doc

    刷android系统到开发板上 将安卓系统刷系统到开发板上 马亲民 2014.12.20 1.擦除NAND FLASH中原有的Windows CE1 2.加载USB引导文件4 3.下载Linux内核9 ...

  4. android系统应用开发_利用ADB工具免root停用Android系统应用

    最近迷上了安卓的开发,写篇冻结app的教程吧. 主要是实现,免root冻结系统中的某些应用,你懂得哈哈 利用ADB工具免root停用Android系统应用 - Hanada​hanada.info 上 ...

  5. android系统nfc开发,GitHub - hanjie511/MyNFC: android的NFC开发入门

    MyNFC android的NFC开发入门 NFC简述 近距离无线通信 (NFC) 是一组近距离无线技术,通常只有在距离不超过 4 厘米时才能启动连接.借助 NFC,您可以在 NFC 标签与 Andr ...

  6. Android 系统应用开发-模拟器调试

    前言 系统应用开发有时候也需要用到模拟器调试,就需要用到系统签名文件,本篇分享一下,如何生成模拟器所需的系统签名文件 一.签名文件生成 1.工具下载 https://github.com/getfat ...

  7. 在android系统中开发DLNA

     内容目录 Part 1. 前言:DLNA简介 Part 2. 主体:DLNA在android中的开发流程 Part 2. 关于DLNA的其他知识 Part 1. 前言:DLNA简介 DLNA,D ...

  8. MOTOROLA MC40 android系统扫描开发

    MOTOROLA MC40 android系统除在手机应用DataWedge中配置Profile之外,代码部分也是重点修改的位置. 官方文档:https://launchpad.motorolasol ...

  9. 如何提升android系统,Android系统智能手机如何提升上网速度

    怎样才能保证使用的Android系统智能手机保持良好的上网速度呢?是重启手机?其实简单的重启并不能拥有很好的效果,在重启之前,我们还需要采取一些其它措施才能让Android智能手机在重启后上网更快,下 ...

  10. Android音视频开发;斗鱼直播实现

    一.直播的本质 实时推送/拉取音视频数据 二.视频直播流程 视频直播的流程可以分为如下几步: (1)采集 (2)处理 (3)编码和封装 (4)推流到服务器 (5)服务器流分发 (6)播放器流播放 1. ...

最新文章

  1. 【AI初识境】什么是深度学习成功的开始?参数初始化
  2. linux看电视系统,教你如何在Linux操作系统下观看电视节目
  3. 我是一名普通程序员,通过自己的努力,我的收入涨了3倍!
  4. GDCM:无效的DICOM文件的测试程序
  5. linux网络编程(二)高并发服务器
  6. javah找不到类文件
  7. 实战Spring Boot 2.0系列(一) - 使用Gradle构建Docker镜像
  8. 采用多种方式实现词频统计
  9. 4-2017-12-2-2约瑟夫环
  10. CentOS 7 配置Java环境变量
  11. struts2与json的整合
  12. 征文 | 青出于蓝而胜于蓝 国货之光GBase
  13. 用显卡测试软件蓝屏,简单几步解决w10更新显卡驱动后重启蓝屏的问题
  14. 读书笔记11 《蔡康永的说话之道2》 蔡康永
  15. MWorks建模、仿真、分析优化平台
  16. 银色 MacBook Pro 13.3笔记本
  17. 苹果加快自研脚步,被国产厂商逼的?
  18. 0 – 30 V稳压电源电路
  19. gentos 执行sh文件_学习kaldi跑thchs30记录(run.sh代码过程)
  20. 苹果开发者:如何将准备好的应用上传到iTunes Connect

热门文章

  1. YDOOK:ESP8266: 官方SDK下载 详细教程 ROST 版本与 NONOS 版本对比与区别
  2. 台达plc用c语言编程软件,台达plc编程
  3. 太原科技大学计算机宿舍,太原科技大学宿舍怎么样
  4. MacBookpro安装mysql教程_mac安装mysql的两种方法
  5. python110道面试题
  6. 一、linux内核源码分析(内核源码结构组成)
  7. linux下vasp安装
  8. [评价体系] 2、层次分析法AHP原理、例题
  9. 全球及中国电动车行业品牌竞争策略与投资机会分析报告2022版
  10. 软考 信息安全工程师怎么样