日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Android超詳細講解組件LinearLayout的使用_Android

作者:小皮豬 ? 更新時間: 2022-06-02 編程語言

概述

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

<?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

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;
        }
    }
 
}

實現效果:

原文鏈接:https://blog.csdn.net/m0_56233309/article/details/123491720

欄目分類
最近更新