Android超详细讲解组件LinearLayout的使用

作者:小皮猪 时间:2023-11-01 01:04:27 

概述

LinearLayout是线性布局组件,放置在其中的组件按列或者按行(就是垂直或者水平)的方式排序分布。

常用XML配置属性

(1) android:orientation

设置LinearLayout容器布局组件的方式:只能取值:horizontal(水平的),vertical(垂直的)

(2) android:gravity

设置布局在LinearLayout容器内的组件对齐方式。

取值包括top, bottom, left, right, center, start, end(上,下,左,右,中,开始,结束)

(3) View中继承来的属性

(包括android:background ,android:visibility等。还有一些改善美观的放置组件的间隔)

1. android:layout_width和android:layout_height (match_parent/wrap_content)

2 .android:layout_gravity   设置组件在容器中的布局 

3. android:layout_weight  设置组件占用空间的空余显示空间的比列

4. android:layout_margin  ,android:layout_marginTop  ,android:layout_marginBottom  ,android:layout_marginLeft  ,android:layout_marginRight 设置组件的外边界,类似我们搞网页设计HTML/CSS中margin用法。

代码举例

activity_main.xml

Android超详细讲解组件LinearLayout的使用

Android超详细讲解组件LinearLayout的使用

<?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">
   <RadioGroup
       android:id="@+id/orientation"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:padding="10dp"
       >
       <RadioButton
           android:id="@+id/horizontal"
           android:layout_width="wrap_content"
           android:layout_height="match_parent"
           android:text="水平"
           android:textSize="30dp"
           />
       <RadioButton
           android:id="@+id/vertical"
           android:layout_width="wrap_content"
           android:layout_height="match_parent"
           android:text="垂直"
           android:textSize="30dp"
           />
   </RadioGroup>

<RadioGroup
       android:id="@+id/gravity"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:orientation="vertical"
       android:padding="10dp"
       >
       <RadioButton
           android:id="@+id/left"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="居左"
           android:textSize="30dp"
           />
       <RadioButton
           android:id="@+id/center"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="居中"
           android:textSize="30dp"
           />
       <RadioButton
           android:id="@+id/right"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="居右"
           android:textSize="30dp"
           />

</RadioGroup>

</LinearLayout>

MainActivity.java

Android超详细讲解组件LinearLayout的使用

package com.example.android_demo02;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Gravity;
import android.widget.LinearLayout;
import android.widget.RadioGroup;

public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener {
   private RadioGroup orientation;
   private RadioGroup gravity;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       orientation=(RadioGroup) findViewById(R.id.orientation);
       orientation.setOnCheckedChangeListener(this);
       gravity=(RadioGroup) findViewById(R.id.gravity);
       gravity.setOnCheckedChangeListener(this);
   }

@Override
   public void onCheckedChanged(RadioGroup radioGroup, int i) {
       switch (i){
           case R.id.horizontal:
               orientation.setOrientation(LinearLayout.HORIZONTAL);
               break;
           case R.id.vertical:
               orientation.setOrientation(LinearLayout.VERTICAL);
               break;
           case R.id.left:
               gravity.setGravity(Gravity.START);
               break;
           case R.id.center:
               gravity.setGravity(Gravity.CENTER_HORIZONTAL);
               break;
           case R.id.right:
               gravity.setGravity(Gravity.END);
               break;
       }
   }

}

实现效果:

Android超详细讲解组件LinearLayout的使用

Android超详细讲解组件LinearLayout的使用

来源:https://blog.csdn.net/m0_56233309/article/details/123491720

标签:Android,LinearLayout
0
投稿

猜你喜欢

  • Mybatis的特点及优点

    2022-11-19 16:27:54
  • Gradle的使用教程详解

    2022-08-12 05:02:11
  • C#实现集合转换成json格式数据的方法

    2022-03-18 03:28:50
  • 解决genymotion模拟器无法联网的正确方法100%成功

    2023-09-04 23:20:54
  • Android中FoldingLayout折叠布局的用法及实战全攻略

    2021-05-23 19:29:17
  • 全面解析java final关键字

    2023-03-16 03:04:55
  • Java 使用Socket正确读取数据姿势

    2023-09-16 12:13:43
  • Android 中View.onDraw(Canvas canvas)的使用方法

    2022-11-16 16:40:48
  • Java获得当前时间前指定几个小时具体时间的方法示例

    2023-11-24 04:56:49
  • 浅谈Java堆外内存之突破JVM枷锁

    2022-10-19 19:46:50
  • Java switch关键字原理及用法详解

    2023-04-16 23:29:49
  • 关于MVC与SpringMVC的介绍、区别、执行流程

    2023-11-28 02:25:56
  • C#中实现一次执行多条带GO的sql语句实例

    2023-07-12 10:23:53
  • C# DataTable中Compute方法用法集锦(数值/字符串/运算符/表等操作)

    2023-03-01 23:28:38
  • 超详细的Java 问题排查工具单

    2023-02-10 06:02:17
  • 详解kafka中的消息分区分配算法

    2021-06-02 08:16:15
  • spring循环注入异常问题的解决方案

    2021-06-29 02:21:18
  • Java关键字volatile详析

    2023-01-21 21:51:11
  • Spring Boot示例分析讲解自动化装配机制核心注解

    2022-07-26 15:56:14
  • C#实现将汉字转化为2位大写的16进制Unicode的方法

    2022-03-11 21:45:07
  • asp之家 软件编程 m.aspxhome.com