Kotlin LinearLayout与RelativeLayout布局使用详解

作者:go2coding 时间:2021-12-06 02:07:30 

安卓的开发从布局开始。

安卓的界面编写也是使用xml进行布局的,一般如果熟悉了html界面的布局,那么很容易就能够理解安卓有关的布局了,这里介绍两个比较重要的布局方式:线性布局(LinearLayout)和相对布局(RelativeLayout)。

新建的功能布局,一般是一个界面对应一个xml文件,main界面的xmlactivity_main.xml 中。

线性布局LinearLayout

根据名字我们就很清楚,线性布局的意思了,相当于html中的div层,两种布局方向:

vertical 下的布局方式:

Kotlin LinearLayout与RelativeLayout布局使用详解

horizontal 下的布局方式:

Kotlin LinearLayout与RelativeLayout布局使用详解

vertical 布局代码:

<LinearLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:orientation="vertical"
   android:background="#00aaff" >
   <Button
       android:id = "@+id/btn1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:text="Button" />
   <Button
       android:id = "@+id/btn2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:text="Button" />
</LinearLayout>

horizontal 下的布局代码:

<LinearLayout
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:background="#A6A7AF" >
       <Button
           android:id = "@+id/btn3"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
           android:text="Button" />
       <Button
           android:id = "@+id/btn4"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
           android:text="Button" />
   </LinearLayout>

有几个属性需要熟悉一下:

  • wrap_content 为按照控件内容的大小进行调整

  • layout_marginLeft 为控件左边的偏移,其他的一次类推

  • layout_gravity 可以用来进行控件居中显示

  • layout_weight 控件在horizontal模式下占到的比率

相对布局RelativeLayout

相对布局 主要两种相当模式,一种是父控件,一种是相对兄弟控件。

Kotlin LinearLayout与RelativeLayout布局使用详解

布局代码如下:

<RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="300dp"
       android:background="#9C27B0" >
       <Button
           android:id = "@+id/btn5"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentTop="true"
           android:layout_alignParentRight="true"
           android:text="Button5" />
       <Button
           android:id = "@+id/btn6"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_centerHorizontal="true"
           android:layout_centerVertical="true"
           android:text="Button6" />
       <Button
           android:id = "@+id/btn7"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_centerHorizontal="true"
           android:layout_centerVertical="true"
           android:layout_below="@+id/btn6"
           android:text="Button7" />
   </RelativeLayout>

几个重要的布局:

  • layout_alignParentxxxx 相对于父类的情况

  • layout_to 相对于兄弟的情况

项目在github的地址在这里。

小结

布局的方式比较多,但是这两个种布局方式是最重要的,也可以这么说掌握了这两种以后,其他的就可以依次类推,只要知道里面的属性基本上就容易上手了。

来源:https://blog.csdn.net/weixin_40425640/article/details/127850722

标签:Kotlin,LinearLayout,RelativeLayout
0
投稿

猜你喜欢

  • SpringMVC后端返回数据到前端代码示例

    2023-06-20 13:12:47
  • struts2中使用注解配置Action方法详解

    2023-08-30 00:01:25
  • Android应用中利用ViewPager实现多页面滑动切换效果示例

    2023-01-27 04:32:19
  • 浅谈java中==以及equals方法的用法

    2021-09-29 15:21:45
  • java实现仿windows 字体设置选项卡实例

    2023-01-02 11:45:42
  • 浅析Spring Boot中的spring-boot-load模块

    2023-11-23 02:39:31
  • Java实现员工信息管理系统

    2023-01-27 16:19:30
  • Android个人中心的头像上传,图片编码及截取实例

    2021-10-24 11:56:40
  • C# 读写自定义的Config文件的实现方法

    2022-09-08 23:22:35
  • 浅谈java中异常抛出后代码是否会继续执行

    2023-01-23 18:37:45
  • c#中WebService的介绍及调用方式小结

    2021-05-29 00:10:17
  • Android应用开发中WebView的常用方法笔记整理

    2021-06-29 04:29:39
  • Android 显示GIF图片实例详解

    2023-08-06 09:11:52
  • C#实现中英文混合字符串截取的方法

    2022-07-11 10:02:35
  • 给C语言初学者的学习建议

    2023-06-14 17:23:44
  • MAC下如何设置JDK环境变量

    2023-12-20 16:05:24
  • Java注解@Transactional事务类内调用不生效问题及解决办法

    2022-04-03 18:42:06
  • C#多线程之线程同步

    2022-06-14 19:58:03
  • Gradle修改本地仓库的位置方法实现

    2022-01-17 21:25:52
  • Android中使用 AutoCompleteTextView 实现手机号格式化附带清空历史的操作

    2021-07-05 17:08:43
  • asp之家 软件编程 m.aspxhome.com