Monday, March 15, 2021

LinearLayout trong Android

Trong android, LinearLayout android là lớp con ViewGroup được sử dụng để hiển thị lần lượt tất cả các thể hiện View con theo hướng Ngang hoặc Hướng dọc dựa trên thuộc tính hướng.

Trong android, chúng ta có thể chỉ định hướng bố cục tuyến tính bằng cách sử dụng thuộc tính android: direction.

Sau đây là biểu diễn bằng hình ảnh của bố cục tuyến tính trong các ứng dụng Android.

Trong LinearLayout, các cá thể View con được sắp xếp từng cái một nên danh sách ngang sẽ chỉ có một hàng gồm nhiều cột và danh sách dọc sẽ có một cột gồm nhiều hàng.

Android LinearLayout

Sau đây là cách chúng ta cần xác định LinearLayout trong các ứng dụng Android.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <!-- Add Child Views Here -->

</LinearLayout>

Ví dụ về Android LinearLayout

Sau đây là ví dụ về việc tạo LinearLayout với các điều khiển khác nhau trong lập trình Android.

Tạo một ứng dụng android mới bằng cách sử dụng studio android và đặt tên là LinearLayout. Trong trường hợp nếu bạn không biết cách tạo ứng dụng trong android studio, hãy xem bài viết này Ứng dụng Android Hello World.

Bây giờ, hãy mở tệp activity_main.xml từ đường dẫn \ res \ layout và viết mã như hình dưới đây

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingLeft="20dp"

    android:paddingRight="20dp"

    android:orientation="vertical" >

    <EditText

        android:id="@+id/txtTo"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:hint="To"/>

    <EditText

        android:id="@+id/txtSub"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:hint="Subject"/>

    <EditText

        android:id="@+id/txtMsg"

        android:layout_width="match_parent"

        android:layout_height="0dp"

        android:layout_weight="1"

        android:gravity="top"

        android:hint="Message"/>

    <Button

        android:layout_width="100dp"

        android:layout_height="wrap_content"

        android:layout_gravity="right"

        android:text="Send"/>

</LinearLayout>

Sau khi hoàn tất việc tạo bố cục, chúng tôi cần tải tài nguyên bố cục XML từ phương thức gọi lại hoạt động onCreate () của chúng tôi, cho tệp hoạt động chính đang mở MainActivity.java từ đường dẫn \ java \ com.anhttvn.linearlayout và viết mã như như hình bên dưới.

MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}

Thuộc tính trọng lượng bố cục

Nếu bạn quan sát ví dụ trên, chúng tôi đã sử dụng thuộc tính layout weight (android: layout_weight) trong chế độ xem con. Trên thực tế, thuộc tính này được các chế độ xem con sử dụng để chỉ định lượng không gian mà Chế độ xem sẽ chiếm trên màn hình. Nếu chúng ta gán giá trị trọng số lớn hơn cho chế độ xem con, thì nó sẽ mở rộng để lấp đầy bất kỳ khoảng trống nào còn lại trong chế độ xem mẹ.

Nếu bạn quan sát ví dụ trên, chúng tôi đã sử dụng ba trường văn bản và chúng tôi chỉ định giá trị trọng số cho một trường văn bản. Hai trường văn bản không có trọng số sẽ chỉ chiếm diện tích cần thiết cho nội dung của nó và trường văn bản khác có giá trị trọng số sẽ mở rộng để lấp đầy khoảng trống còn lại sau khi đo cả ba trường

Đây là cách chúng ta có thể sử dụng LinearLayout trong các ứng dụng android để hiển thị lần lượt tất cả các phiên bản View theo hướng Ngang hoặc Hướng dọc dựa trên thuộc tính hướng.

No comments:

Post a Comment