(二)Android布局管理器-线性布局

1 常用属性

  1. android:orientation 布局方向○vertical垂直线性布局,horizontal水平线性布局
  2. android:id 为控件指定相应的ID
  3. android:text
  4. android:grivity 指定控件的基本位置,
  5. android:textSize 指定控件当中字体的大小
  6. android:background 指定该控件所使用的背景/背景色
  7. android:width 指定控件的宽度
  8. android:height 指定控件的高度
  9. android:padding 指定控件的内边距,也就是说控件当中的内容
  10. android:singleLine 如果设置为真的话,则将控件的内容在同一行当中进行显示
  11. layout_weight属性可以控制各个控件在布局中的相对大小线性布局会根据该控件layout_weight值与其· 所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。
  12. layout_height属性与layout_weight属性类似

2 属性演示

通过三块线性布局代码段来分析其中的属性,这三块都放在最外层的一个主线性布局中,设置了android:orientation="vertical"布局方向○vertical垂直线性布局,horizontal水平线性布局,所以下面的三块线性布局按照垂直方向,从上至下依次排放。

首先第一块,需要用到的时长度宽度,故名思议知道是用来描述组件的长宽,但是这里的长宽使用的时dp作为单位,原因时由于Android碎片化比较严重,使用这个单位会比较方便。在设置长宽的时候可以选择match_parent属性,这个属性的意思是和父组件匹配,相同。还有一种选择是wrap_content,根据文字内容自动撑起。通过background属性设置背景颜色,(直接百度一个RGB取色器即可选择自己想要的颜色),然后在内部有设置了一个组件,view组件是其他组件的父组件,其他都继承自这个组件,同样设置了长宽match_parent属性,设置了背景颜色,但是此时看不出任何效果,因为两个完全重叠了,这时就需要设置padding 指定控件的内边距,这样就可以明显看出像是相框一样的图形。当然可以直接设置上下左右不同的值,从而更加美观。

第二块,主要介绍android:gravity="center", 指定控件的基本位置,这就设置了图中我的小白块的位置

第三块,介绍权值属性,weight,这就相当于小学的分数,看他们的占比就好了,此处给出的左边占了1/(1+1)  右边占了1/(1+1) 但是记得要把各自的width首先设置为0,如果没有事先设置的话,之后会按照剩余部分按比例平分

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="200dp"
        android:background="#000000"
        android:orientation="vertical"
        android:padding="20dp"
        android:layout_margin="10dp">
        <View
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#FF2222"
            ></View>
    </LinearLayout>

    <LinearLayout
        android:layout_width="400dp"
        android:layout_height="200dp"
        android:background="#22D3FF"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_margin="10dp"
        android:gravity="center">

        <View
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:background="#ffffff"></View>
        ></LinearLayout>


    <LinearLayout
        android:layout_width="400dp"
        android:layout_height="200dp"
        android:background="#22D3FF"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_margin="10dp">

        <View
            android:id="@+id/left01"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="#FF224E"></View>

        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:background="#FFFF22"
            android:layout_weight="1"
            ></View>
        ></LinearLayout>
</LinearLayout>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值