Trong phần này chúng ta sẽ Phân tích một số dòng layout trong Android.
Layout sẽ quy định kích thước cũng như sự sắp xếp của những View trên màn hình. Android sở hữu phần lớn lớp layout, LinearLayout sẽ sắp xếp những View trên một hàng hoặc một cột, FrameLayout chỉ hiển thị một View, RelativeLayout sắp xếp những View theo mối quan hệ giữa chúng, GridLayout sắp xếp những View theo dạng bảng.
san sẻ bài học về mvc là gì
Hiển thị ảnh sở hữu FrameLayout
Bên trong thư mục res của project sở hữu những thư mục drawable để chúng ta đặt những file tài nguyên vào trong Đó và chúng ta sở hữu thể tham chiếu tới chúng trong file layout thuận tiện. chẳng hạn ở đây mình đặt một file ảnh sở hữu tên zamok.jpg trong thư mục drawable-hdpi.
main.xml
android:layout_width="match_parent"
android:src="@drawable/zamok" />
Trong file main.xml, chúng ta sử dụng FrameLayout làm ViewGroup chính, bên trong FrameLayout này chúng ta đặt một thẻ ImageView.
tính chất layout_gravity sẽ sắp xếp FrameLayout ở những vị trí khác nhau, ở đây top tức là đưa lên đầu màn hình, ngoài ra còn sở hữu những trị giá khác như bottom, left, right, center... tính chất layout_width và layout_height sở hữu trị giá wrap_content sẽ quy định kích thước layout vừa đủ để bọc lấy những thành phần bên trong nó.
android:layout_width="match_parent"
android:src="@drawable/zamok" />
Lớp ImageView sẽ hiển thị ảnh, trục đường dẫn tới file ảnh được truyền vào tính chất android:src.
LinearLayout
Trong tỉ dụ dưới đây, chúng ta sẽ ngoại hình một hàng những Button.
main.xml
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<>
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button2" />
<>
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button3" />
<>
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button4" />
Lớp LinearLayout sẽ sắp xếp những View theo hàng hoặc theo cột.
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" >
tính chất width và height sở hữu trị giá match_parent tức là vừa khít sở hữu kích thước của trang bị.
android:layout_width="wrap_content"
android:text="Button1" />
Mỗi Button sở hữu width và height là wrap_content, tức là kích thước của chúng vừa đủ để bọc lấy đoạn text bên trong nó.
Xem những bài học android miễn phí
Thiết kế bằng Java
Ngoài việc ngoại hình trong file layout, chúng ta cũng sở hữu thể ngoại hình trong file Activity.
MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
Ở đây chúng ta cũng ngoại hình lại giống như tỉ dụ trước là đặt 4 Button nằm trên cùng một hàng.
một
hai
Button btn1 = new Button(this);
btn1.setText("Button");
Để tạo Button thì chúng ta sử dụng tới lớp android.widget.Button, phương thức setText() sẽ thiết lập nội dung Button.
Phương thức setContentView() sẽ nhận đối tượng LinearLayout thay vì nhận ID của file XML như trước.
Kết hợp những Layout
Chúng ta sở hữu thể lồng những layout vào nhau để kết hợp chúng lại.
Trong tỉ dụ này chúng ta lồng LinearLayout vào bên trong Framelayout.
FrameLayout sở hữu kích thước vừa đủ để bọc lấy những phần tử bên trong nó. những phần tử bên trong FrameLayout sẽ nằm chính giữa màn hình theo tính chất layout_gravity là center.
LinearLayout bên trong FrameLayout chứa 4 Button được sắp xếp theo chiều dọc.
RelativeLayout
RelativeLayout sắp xếp những View dựa trên vị trí của chúng sở hữu nhau hoặc sở hữu View cha.
Trong tỉ dụ này chúng ta hiển thị một EditText và hai Button.
EditText sẽ sở hữu bề ngang chiếm phần lớn màn hình, chiều cao chỉ vừa đủ bọc lấy đoạn text bên trong. ngoài ra tính chất marginTop quy định EditText cách thức cạnh trên của màn hình 10dp.
Chúng ta sở hữu hai Button, trong Đó Button “Send” sẽ được đặt phía dưới EditText nhờ vào tính chất layout_below, tính chất này nhận id của EditText.
Button “Clear” được đặt phía dưới EditText và nằm phía bên phải Button “Send”, ở đây chúng ta sử dụng thêm tính chất layout_toRightOf để chỉ định View nằm phía bên phải của View nào.
GridLayout
GridLayout sắp xếp những View con theo dạng bảng, bảng bao gồm phổ quát hàng và cột, hàng và cột giao nhau tạo thành những ô, một View sở hữu thể chiếm một hoặc phổ quát ô. tính chất gravity cho biết View sẽ được đặt ở đâu trong bảng.
main.xml
Trong tỉ dụ này chúng ta sở hữu một GridLayout chứa một lực lượng những Button.
tính chất layout_row diễn tả số hàng còn tính chất layout_column diễn tả số cột, ở đây hàng 0 cột 0 tức là Button này nằm ở góc trái phía trên bảng.
Button ở đoạn code trên nằm ở ô (0,1) nhưng sở hữu chiều ngang dài thêm hai ô do được thiết lập trong tính chất columnSpan nhưng chúng ta phải khai báo thêm tính chất layout_gravity là fill_horizontal, nếu như ko thì Button này vẫn sẽ sở hữu kích thước như cũ.
ngoài ra bạn sở hữu thể Phân tích tự học php
tương tự Button ở đoạn code trên nằm ở hàng một cột 0, tính chất layout_rowSpan quy định chiều cao của Button này dài thêm 3 hàng, tính chất columnSpan quy định Button này dãn kích thước theo chiều ngang thêm 5 cột nữa, tính chất layout_gravity là fill sẽ lấp đầy khoảng trống được dãn ra Đó.
Button ở đoạn code trên nằm ở giữa cột nhờ vào tính chất layout_gravity là center_horizontal.
Layout sẽ quy định kích thước cũng như sự sắp xếp của những View trên màn hình. Android sở hữu phần lớn lớp layout, LinearLayout sẽ sắp xếp những View trên một hàng hoặc một cột, FrameLayout chỉ hiển thị một View, RelativeLayout sắp xếp những View theo mối quan hệ giữa chúng, GridLayout sắp xếp những View theo dạng bảng.
san sẻ bài học về mvc là gì
Hiển thị ảnh sở hữu FrameLayout
Bên trong thư mục res của project sở hữu những thư mục drawable để chúng ta đặt những file tài nguyên vào trong Đó và chúng ta sở hữu thể tham chiếu tới chúng trong file layout thuận tiện. chẳng hạn ở đây mình đặt một file ảnh sở hữu tên zamok.jpg trong thư mục drawable-hdpi.
main.xml
android:layout_width="match_parent"
android:src="@drawable/zamok" />
Trong file main.xml, chúng ta sử dụng FrameLayout làm ViewGroup chính, bên trong FrameLayout này chúng ta đặt một thẻ ImageView.
tính chất layout_gravity sẽ sắp xếp FrameLayout ở những vị trí khác nhau, ở đây top tức là đưa lên đầu màn hình, ngoài ra còn sở hữu những trị giá khác như bottom, left, right, center... tính chất layout_width và layout_height sở hữu trị giá wrap_content sẽ quy định kích thước layout vừa đủ để bọc lấy những thành phần bên trong nó.
android:layout_width="match_parent"
android:src="@drawable/zamok" />
Lớp ImageView sẽ hiển thị ảnh, trục đường dẫn tới file ảnh được truyền vào tính chất android:src.
LinearLayout
Trong tỉ dụ dưới đây, chúng ta sẽ ngoại hình một hàng những Button.
main.xml
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<>
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button2" />
<>
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button3" />
<>
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button4" />
Lớp LinearLayout sẽ sắp xếp những View theo hàng hoặc theo cột.
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" >
tính chất width và height sở hữu trị giá match_parent tức là vừa khít sở hữu kích thước của trang bị.
android:layout_width="wrap_content"
android:text="Button1" />
Mỗi Button sở hữu width và height là wrap_content, tức là kích thước của chúng vừa đủ để bọc lấy đoạn text bên trong nó.
Xem những bài học android miễn phí
Thiết kế bằng Java
Ngoài việc ngoại hình trong file layout, chúng ta cũng sở hữu thể ngoại hình trong file Activity.
MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;
Ở đây chúng ta cũng ngoại hình lại giống như tỉ dụ trước là đặt 4 Button nằm trên cùng một hàng.
một
hai
Button btn1 = new Button(this);
btn1.setText("Button");
Để tạo Button thì chúng ta sử dụng tới lớp android.widget.Button, phương thức setText() sẽ thiết lập nội dung Button.
Phương thức setContentView() sẽ nhận đối tượng LinearLayout thay vì nhận ID của file XML như trước.
Kết hợp những Layout
Chúng ta sở hữu thể lồng những layout vào nhau để kết hợp chúng lại.
Trong tỉ dụ này chúng ta lồng LinearLayout vào bên trong Framelayout.
FrameLayout sở hữu kích thước vừa đủ để bọc lấy những phần tử bên trong nó. những phần tử bên trong FrameLayout sẽ nằm chính giữa màn hình theo tính chất layout_gravity là center.
LinearLayout bên trong FrameLayout chứa 4 Button được sắp xếp theo chiều dọc.
RelativeLayout
RelativeLayout sắp xếp những View dựa trên vị trí của chúng sở hữu nhau hoặc sở hữu View cha.
Trong tỉ dụ này chúng ta hiển thị một EditText và hai Button.
EditText sẽ sở hữu bề ngang chiếm phần lớn màn hình, chiều cao chỉ vừa đủ bọc lấy đoạn text bên trong. ngoài ra tính chất marginTop quy định EditText cách thức cạnh trên của màn hình 10dp.
Chúng ta sở hữu hai Button, trong Đó Button “Send” sẽ được đặt phía dưới EditText nhờ vào tính chất layout_below, tính chất này nhận id của EditText.
Button “Clear” được đặt phía dưới EditText và nằm phía bên phải Button “Send”, ở đây chúng ta sử dụng thêm tính chất layout_toRightOf để chỉ định View nằm phía bên phải của View nào.
GridLayout
GridLayout sắp xếp những View con theo dạng bảng, bảng bao gồm phổ quát hàng và cột, hàng và cột giao nhau tạo thành những ô, một View sở hữu thể chiếm một hoặc phổ quát ô. tính chất gravity cho biết View sẽ được đặt ở đâu trong bảng.
main.xml
Trong tỉ dụ này chúng ta sở hữu một GridLayout chứa một lực lượng những Button.
tính chất layout_row diễn tả số hàng còn tính chất layout_column diễn tả số cột, ở đây hàng 0 cột 0 tức là Button này nằm ở góc trái phía trên bảng.
Button ở đoạn code trên nằm ở ô (0,1) nhưng sở hữu chiều ngang dài thêm hai ô do được thiết lập trong tính chất columnSpan nhưng chúng ta phải khai báo thêm tính chất layout_gravity là fill_horizontal, nếu như ko thì Button này vẫn sẽ sở hữu kích thước như cũ.
ngoài ra bạn sở hữu thể Phân tích tự học php
tương tự Button ở đoạn code trên nằm ở hàng một cột 0, tính chất layout_rowSpan quy định chiều cao của Button này dài thêm 3 hàng, tính chất columnSpan quy định Button này dãn kích thước theo chiều ngang thêm 5 cột nữa, tính chất layout_gravity là fill sẽ lấp đầy khoảng trống được dãn ra Đó.
Button ở đoạn code trên nằm ở giữa cột nhờ vào tính chất layout_gravity là center_horizontal.