• 售前

  • 售后

热门帖子
入门百科

Android-第一节(基础知识及线性布局)

[复制链接]
饺子姑娘 显示全部楼层 发表于 2022-1-14 08:44:49 |阅读模式 打印 上一主题 下一主题
文章目录



1.常见控件的基本属性



  • android:id="@+id/button1":【设置控件id】
  • android:layout_width【设置控件宽度】/android:layout_height【设置控件高度】

    • wrap_content【控件的大小由内部决定】
    • match_parent【控件的大小与父控件保持一致】

  • android:text=" ":【设置组件文本】

    • android:textColor=" ":【设置字体颜色】

  • android:layout_marginLeft:【当前布局与父布局左边缘的距离】
  • android:layout_marginRight:【当前布局与父布局右边缘的距离】
  • android:layout_marginTop:【当前布局与父布局顶部边缘的距离】
  • android:layout_marginBottom:【当前布局与父布局底部边缘的距离】
  • android:gravity :【view里面的内容在这个view中的位置】
  • android:layout_gravity :【这个view相对于它父view的位置】
   1、gravity在线性布局中不起任何作用,layout_gravity在线性布局中起作用;
2、 当我们使用 android:orientation=“vertical” 时, android:layout_gravity只有水平方向的设置才起作用,
垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的;
3、当 我们使用android:orientation=“horizontal” 时, android:layout_gravity只有垂直方向的设置才起作用,
水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
  1.1控件的可见性

该属性有三种状态值:gone、visible、invisible。
   gone 与invisible的区别是:
gone 表示控件不可见,也不会占任何的位置,也不会有任何响应。
而invisible表示控件虽然不可见,但是会占据它的宽高位置。
  例子:
  1. <code><LinearLayout
  2.       android:id="@+id/linearLayout"
  3.       android:layout_width="match_parent"
  4.       android:layout_height="wrap_content"
  5.       android:orientation="horizontal"
  6.       app:layout_constraintEnd_toEndOf="parent"
  7.       app:layout_constraintStart_toStartOf="parent"
  8.       app:layout_constraintTop_toTopOf="parent">
  9.       <Button
  10.           android:id="@+id/button1"
  11.           android:layout_width="wrap_content"
  12.           android:layout_height="wrap_content"
  13.           android:layout_weight="1"
  14.           android:text="button1">
  15.       </Button>
  16.       <Button
  17.           android:id="@+id/button2"
  18.           android:layout_width="wrap_content"
  19.           android:layout_height="wrap_content"
  20.           android:layout_weight="1"
  21.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  22.           android:text="button2">
  23.       </Button>
  24.       <Button
  25.           android:id="@+id/button3"
  26.           android:layout_width="wrap_content"
  27.           android:layout_height="wrap_content"
  28.           android:layout_weight="1"
  29.           android:text="button3"></Button>
  30.   </LinearLayout>
复制代码
效果如图:

例子:
  1. <code><LinearLayout
  2.       android:id="@+id/linearLayout"
  3.       android:layout_width="match_parent"
  4.       android:layout_height="wrap_content"
  5.       android:orientation="horizontal"
  6.       app:layout_constraintEnd_toEndOf="parent"
  7.       app:layout_constraintStart_toStartOf="parent"
  8.       app:layout_constraintTop_toTopOf="parent">
  9.       <Button
  10.           android:id="@+id/button1"
  11.           android:layout_width="wrap_content"
  12.           android:layout_height="wrap_content"
  13.           android:layout_weight="1"
  14.           android:text="button1">
  15.       </Button>
  16.       <Button
  17.           android:id="@+id/button2"
  18.           android:layout_width="wrap_content"
  19.           android:layout_height="wrap_content"
  20.           android:layout_weight="1"
  21.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  22.           android:text="button2">
  23.       </Button>
  24.       <Button
  25.           android:id="@+id/button3"
  26.           android:layout_width="wrap_content"
  27.           android:layout_height="wrap_content"
  28.           android:layout_weight="1"
  29.           android:text="button3"></Button>
  30.   </LinearLayout>      
复制代码
效果如图:
1.2控件的外边距

学习过HTML的都会知道CSS里的盒模式有个外边距和内边距。
外边距可以设置视图距离父视图上下左右的距离。
内边距可以设置视图内部内容距离自己边框上下左右的距离。
Android 的控件布局其实也用的是这个盒模式。
如果距离父视图上下左右的外边距相同,可以这么设置:
  1. <code>android:layout_margin="10dp"
复制代码
我们也可以单独的设置某个外边距:
  1. <code>android:layout_marginTop="10dp"
  2. android:layout_marginBottom="10dp"
  3. android:layout_marginLeft="10dp"
  4. android:layout_marginRight="10dp"
复制代码
1.3控件的内边距

统一设置上下左右内边距:
  1. <code>android:padding="5dp"
复制代码
各自设置内边距:
  1. <code>android:paddingTop="5dp"
  2. android:paddingBottom="5dp"
  3. android:paddingLeft="5dp"
  4. android:paddingRight="5dp"
复制代码
2.线性布局(Linear Layout)

LinearLayout 核心属性:
​ (1) android:orientation:两个属性值:“vertical” 垂直 “horizontal”水平
​ (2) android:layout_weight 将父控件的剩余空间按照设置的权重比例再分配
2.1示例:


  1. <code><LinearLayout
  2.       android:id="@+id/linearLayout"
  3.       android:layout_width="match_parent"
  4.       android:layout_height="wrap_content"
  5.       android:orientation="horizontal"
  6.       app:layout_constraintEnd_toEndOf="parent"
  7.       app:layout_constraintStart_toStartOf="parent"
  8.       app:layout_constraintTop_toTopOf="parent">
  9.       <Button
  10.           android:id="@+id/button1"
  11.           android:layout_width="wrap_content"
  12.           android:layout_height="wrap_content"
  13.           android:layout_weight="1"
  14.           android:text="button1">
  15.       </Button>
  16.       <Button
  17.           android:id="@+id/button2"
  18.           android:layout_width="wrap_content"
  19.           android:layout_height="wrap_content"
  20.           android:layout_weight="1"
  21.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  22.           android:text="button2">
  23.       </Button>
  24.       <Button
  25.           android:id="@+id/button3"
  26.           android:layout_width="wrap_content"
  27.           android:layout_height="wrap_content"
  28.           android:layout_weight="1"
  29.           android:text="button3"></Button>
  30.   </LinearLayout>                    
复制代码
2.2微信界面实战


  1. <code><LinearLayout
  2.       android:id="@+id/linearLayout"
  3.       android:layout_width="match_parent"
  4.       android:layout_height="wrap_content"
  5.       android:orientation="horizontal"
  6.       app:layout_constraintEnd_toEndOf="parent"
  7.       app:layout_constraintStart_toStartOf="parent"
  8.       app:layout_constraintTop_toTopOf="parent">
  9.       <Button
  10.           android:id="@+id/button1"
  11.           android:layout_width="wrap_content"
  12.           android:layout_height="wrap_content"
  13.           android:layout_weight="1"
  14.           android:text="button1">
  15.       </Button>
  16.       <Button
  17.           android:id="@+id/button2"
  18.           android:layout_width="wrap_content"
  19.           android:layout_height="wrap_content"
  20.           android:layout_weight="1"
  21.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  22.           android:text="button2">
  23.       </Button>
  24.       <Button
  25.           android:id="@+id/button3"
  26.           android:layout_width="wrap_content"
  27.           android:layout_height="wrap_content"
  28.           android:layout_weight="1"
  29.           android:text="button3"></Button>
  30.   </LinearLayout><code><LinearLayout
  31.       android:id="@+id/linearLayout"
  32.       android:layout_width="match_parent"
  33.       android:layout_height="wrap_content"
  34.       android:orientation="horizontal"
  35.       app:layout_constraintEnd_toEndOf="parent"
  36.       app:layout_constraintStart_toStartOf="parent"
  37.       app:layout_constraintTop_toTopOf="parent">
  38.       <Button
  39.           android:id="@+id/button1"
  40.           android:layout_width="wrap_content"
  41.           android:layout_height="wrap_content"
  42.           android:layout_weight="1"
  43.           android:text="button1">
  44.       </Button>
  45.       <Button
  46.           android:id="@+id/button2"
  47.           android:layout_width="wrap_content"
  48.           android:layout_height="wrap_content"
  49.           android:layout_weight="1"
  50.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  51.           android:text="button2">
  52.       </Button>
  53.       <Button
  54.           android:id="@+id/button3"
  55.           android:layout_width="wrap_content"
  56.           android:layout_height="wrap_content"
  57.           android:layout_weight="1"
  58.           android:text="button3"></Button>
  59.   </LinearLayout><code><LinearLayout
  60.       android:id="@+id/linearLayout"
  61.       android:layout_width="match_parent"
  62.       android:layout_height="wrap_content"
  63.       android:orientation="horizontal"
  64.       app:layout_constraintEnd_toEndOf="parent"
  65.       app:layout_constraintStart_toStartOf="parent"
  66.       app:layout_constraintTop_toTopOf="parent">
  67.       <Button
  68.           android:id="@+id/button1"
  69.           android:layout_width="wrap_content"
  70.           android:layout_height="wrap_content"
  71.           android:layout_weight="1"
  72.           android:text="button1">
  73.       </Button>
  74.       <Button
  75.           android:id="@+id/button2"
  76.           android:layout_width="wrap_content"
  77.           android:layout_height="wrap_content"
  78.           android:layout_weight="1"
  79.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  80.           android:text="button2">
  81.       </Button>
  82.       <Button
  83.           android:id="@+id/button3"
  84.           android:layout_width="wrap_content"
  85.           android:layout_height="wrap_content"
  86.           android:layout_weight="1"
  87.           android:text="button3"></Button>
  88.   </LinearLayout><code><LinearLayout
  89.       android:id="@+id/linearLayout"
  90.       android:layout_width="match_parent"
  91.       android:layout_height="wrap_content"
  92.       android:orientation="horizontal"
  93.       app:layout_constraintEnd_toEndOf="parent"
  94.       app:layout_constraintStart_toStartOf="parent"
  95.       app:layout_constraintTop_toTopOf="parent">
  96.       <Button
  97.           android:id="@+id/button1"
  98.           android:layout_width="wrap_content"
  99.           android:layout_height="wrap_content"
  100.           android:layout_weight="1"
  101.           android:text="button1">
  102.       </Button>
  103.       <Button
  104.           android:id="@+id/button2"
  105.           android:layout_width="wrap_content"
  106.           android:layout_height="wrap_content"
  107.           android:layout_weight="1"
  108.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  109.           android:text="button2">
  110.       </Button>
  111.       <Button
  112.           android:id="@+id/button3"
  113.           android:layout_width="wrap_content"
  114.           android:layout_height="wrap_content"
  115.           android:layout_weight="1"
  116.           android:text="button3"></Button>
  117.   </LinearLayout><code><LinearLayout
  118.       android:id="@+id/linearLayout"
  119.       android:layout_width="match_parent"
  120.       android:layout_height="wrap_content"
  121.       android:orientation="horizontal"
  122.       app:layout_constraintEnd_toEndOf="parent"
  123.       app:layout_constraintStart_toStartOf="parent"
  124.       app:layout_constraintTop_toTopOf="parent">
  125.       <Button
  126.           android:id="@+id/button1"
  127.           android:layout_width="wrap_content"
  128.           android:layout_height="wrap_content"
  129.           android:layout_weight="1"
  130.           android:text="button1">
  131.       </Button>
  132.       <Button
  133.           android:id="@+id/button2"
  134.           android:layout_width="wrap_content"
  135.           android:layout_height="wrap_content"
  136.           android:layout_weight="1"
  137.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  138.           android:text="button2">
  139.       </Button>
  140.       <Button
  141.           android:id="@+id/button3"
  142.           android:layout_width="wrap_content"
  143.           android:layout_height="wrap_content"
  144.           android:layout_weight="1"
  145.           android:text="button3"></Button>
  146.   </LinearLayout><code><LinearLayout
  147.       android:id="@+id/linearLayout"
  148.       android:layout_width="match_parent"
  149.       android:layout_height="wrap_content"
  150.       android:orientation="horizontal"
  151.       app:layout_constraintEnd_toEndOf="parent"
  152.       app:layout_constraintStart_toStartOf="parent"
  153.       app:layout_constraintTop_toTopOf="parent">
  154.       <Button
  155.           android:id="@+id/button1"
  156.           android:layout_width="wrap_content"
  157.           android:layout_height="wrap_content"
  158.           android:layout_weight="1"
  159.           android:text="button1">
  160.       </Button>
  161.       <Button
  162.           android:id="@+id/button2"
  163.           android:layout_width="wrap_content"
  164.           android:layout_height="wrap_content"
  165.           android:layout_weight="1"
  166.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  167.           android:text="button2">
  168.       </Button>
  169.       <Button
  170.           android:id="@+id/button3"
  171.           android:layout_width="wrap_content"
  172.           android:layout_height="wrap_content"
  173.           android:layout_weight="1"
  174.           android:text="button3"></Button>
  175.   </LinearLayout><code><LinearLayout
  176.       android:id="@+id/linearLayout"
  177.       android:layout_width="match_parent"
  178.       android:layout_height="wrap_content"
  179.       android:orientation="horizontal"
  180.       app:layout_constraintEnd_toEndOf="parent"
  181.       app:layout_constraintStart_toStartOf="parent"
  182.       app:layout_constraintTop_toTopOf="parent">
  183.       <Button
  184.           android:id="@+id/button1"
  185.           android:layout_width="wrap_content"
  186.           android:layout_height="wrap_content"
  187.           android:layout_weight="1"
  188.           android:text="button1">
  189.       </Button>
  190.       <Button
  191.           android:id="@+id/button2"
  192.           android:layout_width="wrap_content"
  193.           android:layout_height="wrap_content"
  194.           android:layout_weight="1"
  195.           android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
  196.           android:text="button2">
  197.       </Button>
  198.       <Button
  199.           android:id="@+id/button3"
  200.           android:layout_width="wrap_content"
  201.           android:layout_height="wrap_content"
  202.           android:layout_weight="1"
  203.           android:text="button3"></Button>
  204.   </LinearLayout>            
复制代码
3.总结

没有什么事情的话以后日更Android系列知识,刚开始起步还是小白,请大家指正!

来源:https://blog.caogenba.net/qq_48435252/article/details/122477176
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作