Android UI 구성 요소 LinearLayout 선형 레이아웃 상세 설명

9205 단어 AndroidLinearLayout
LinearLayout 선형 레이아웃,이 레이아웃 의 계승 관계:
这里写图片描述  
1.선형 레이아웃 이란 무엇 인가
통속 적 으로 말 하면 감각 은 선과 관련 이 있 는데 선의 특징 을 참조 하면 가로 나 세로 가 있 습 니까?
LinearLayout 는 선형 레이아웃 컨트롤 입 니 다.하위 컨트롤 은 가로 또는 세로 로 배 열 됩 니 다(android:orientation 속성 으로 제어).상대 적 인 위치 에 따라 모든 widgets 나 다른 containers 를 배열 합 니 다.경 계 를 초과 할 때 일부 컨트롤 은 부족 하거나 사라 집 니 다.
2.선형 레이아웃 의 기본 속성
- android:id
- android:orientation
- android:layout_height
- android:layout_width
- android:gravity
- android:layout_gravity
- android:background
- android:layout_margin:
- android:padding
- android:weightSum
- android:layout_weight
- android:baselineAligned
3.상용 속성 치 소개:
android:id:이것 은 레이아웃 의 유일한 표지 ID 입 니 다.
안 드 로 이 드:orientation:그 가 표시 하 는 것 은 이 선형 구 조 는 가로 또는 세로 구 조 를 사용 하 는 것 입 니 다.보통 두 개의 값 만 있 습 니 다.
1.android:orientation="vertical"은 세로 레이아웃 방식 을 사용 하고 현재 레이아웃 에 추 가 된 모든 컨트롤 을 세로 로 정렬 합 니 다.
这里写图片描述  
2.android:orientation="horizontal"은 가로 레이아웃 방식 을 사용 하고 현재 레이아웃 에 추 가 된 모든 컨트롤 을 가로로 정렬 합 니 다(기본 수준)
这里写图片描述
android:layout_height:현재 선형 레이아웃 의 높이 를 표시 합 니 다.
4. android:layout_height="match_parent"  (디 스 플레이
5. android:layout_height="wrap_content"(포 함 된 컨트롤 에 따라 높이 가 스스로 조정 되 는 것 을 나타 낸다)
6. android:layout_height="30dp"(사용자 정의 높이 설정,일반 단 위 는 dp)
android:layout_width:현재 선형 레이아웃 의 폭 을 표시 합 니 다.
7. android:layout_width="match_parent"  (전체 화면 에 너비 표시)
8. android:layout_width="wrap_content"(폭 은 포 함 된 컨트롤 에 따라 자동 으로 조정 되 는 것 을 의미 합 니 다)
9. android:layout_width="30dp"(사용자 정의 설정 너비,일반 단 위 는 dp)
android:gravity:현재 레이아웃 에 포 함 된 모든 컨트롤 을 어떤 방식 으로 정렬 하 는 지 표시 합 니 다(기본 왼쪽 정렬)
这里写图片描述
这里写图片描述  
위 에서 아래로:
center(수직 및 수평 가운데)
center_horizontal(수평 가운데)
하단(하단 정렬)
center_수직(수직 가운데)
clip_horizontal(수평 방향 으로 자 르 고 대상 의 가장자리 가 용 기 를 초과 할 때 상하 가장자리 가 초과 한 부분 을 자 릅 니 다.자 르 기 는 수직 정렬 설정 을 바탕 으로 합 니 다.상단 이 정렬 될 때 아래쪽 을 자 릅 니 다.아래쪽 정렬 시 상단 자 르 기;이 외 에 상단 과 아래쪽 을 자 릅 니 다.)
clip_vertical(수직 방향 으로 자 르 고 대상 의 가장자리 가 용 기 를 초과 할 때 좌우 가장자리 가 초과 한 부분 을 자 릅 니 다.자 르 기 는 가로 정렬 설정 을 바탕 으로 합 니 다.왼쪽 정렬 시 오른쪽 부분 을 자 릅 니 다.오른쪽 정렬 시 왼쪽 자 르 기;그 외 에 왼쪽 과 오른쪽 부분 을 잘라 냅 니 다.)
end(용기 의 끝 위치 에 놓 고 크기 를 바 꾸 지 않 음)
fill(필요 할 때 대상 의 가로 세로 크기 를 늘 려 용 기 를 완전히 채 웁 니 다)
fill_horizontal(필요 할 때 대상 의 가로 크기 를 늘 려 용기 에 완전히 채 웁 니 다.수평 방향 충전)
fill_vertical(필요 할 때 대상 의 세로 크기 를 늘 려 용 기 를 완전히 채 웁 니 다.수직 방향 으로 채 웁 니 다)
left(대상 을 용기 의 왼쪽 에 놓 고 크기 를 바 꾸 지 않 음)
right(대상 을 용기 의 오른쪽 에 놓 고 크기 를 바 꾸 지 않 음)
start(대상 을 용기 의 시작 위치 에 두 고 크기 를 바 꾸 지 않 습 니 다)
top(대상 을 용기 의 상단 에 놓 고 크기 를 바 꾸 지 않 습 니 다)
android:layout_gravity:현재 선형 레이아웃 이 부모 요소 에 대한 정렬 방식 을 표시 합 니 다.
위 와 같다
android:background:현재 선형 레이아웃 을 나타 내 는 배경 색
android:margin:바깥쪽 거 리 를 표시 합 니 다.보통 이 컨트롤 과 부모 컨트롤 의 사면 간 거 리 를 표시 합 니 다.
这里写图片描述  
위 에서 아래로:
1.밑변 거리
2.컨트롤 과 끝 나 는 여백
3.왼쪽 거리
4.오른쪽 여백
5.컨트롤 의 시작 거리
6.정상 거리
android:padding:내부 거 리 를 표시 합 니 다.보통 이 요소 의 모든 하위 요소 와 부모 요소 의 가장자리 거 리 를 표시 합 니 다.예 를 들 어 텍스트 와 텍스트 컨트롤 의 모든 거 리 를 부모 요소 에 설정 합 니 다.
这里写图片描述  
위 에서 아래로 위 에서 보 듯 이
android:weightSum:가중치 의 총 비율
android:layout_weight:하위 요소 가 차지 하지 않 은 공간 수준 이나 수직 분포 에 대한 가중치

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.qianfeng.demo1.MainActivity"
 android:weightSum="6" //     6
 android:orientation="vertical"
 >
 <TextView
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="2"//        2,        1,                 ,      0
 android:textSize="30sp"
 android:text="aaaa"
 android:background="#f00"
 p
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1"
 android:textSize="30sp"
 android:text="bbbb"
 android:background="#0f0"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1"
 android:textSize="30sp"
 android:background="#00f"
 android:text="cccc"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1"
 android:textSize="30sp"
 android:text="dddd"
 android:background="#0ff"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1"
 android:textSize="30sp"
 android:background="#f0f"
 android:text="eeee"

 />
</LinearLayout>
효과 도 는 다음 과 같다.
这里写图片描述
android:baselineAligned:이 컨트롤 은 text 를 표시 할 수 있 는 하위 컨트롤 에 만 유효 합 니 다.
이것 은 반드시 불 값 이 어야 합 니 다."true"또는"false"이 어야 하 며,레이아웃 이 아들 의 기선 을 조정 하 는 것 을 방지 해 야 합 니 다.기본적으로 true
여기 작은 디 테 일 을 소개 합 니 다.
여 기 는 수직 분배 가중치 를 열 로 하고 가중치 는 마이너스 가 될 수 있 습 니 다.가중치 는 비례 에 따라 대응 하 는 크기 입 니 다.여기 aaaa 컨트롤 의 높이 는 0dp 이 고 bbbb 컨트롤 의 높이 는 0dp 입 니 다.그래서 aaaa 컨트롤 의 배분 가중치 는 5 이 고 bbbb 배분 가중치 는 1 입 니 다.그래서 여기 aaaa 는 bbbb 보다 차지 하 는 비례 가 큽 니 다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.qianfeng.demo1.MainActivity"
 android:weightSum="6"
 android:orientation="vertical"
 >
 <TextView
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="5"
 android:textSize="30sp"
 android:text="aaaa"
 android:background="#f00"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="0dp"
 android:layout_weight="1"
 android:textSize="30sp"
 android:text="bbbb"
 android:background="#0f0"
 />

</LinearLayout>


효과 그림:
这里写图片描述
반대로 aaaa 컨트롤 의 높이 를 match 로 설정 하면parent,bbbb 컨트롤 의 높이 도 matchparent,aaaa 컨트롤 의 배분 가중치 는 5 이 고 bbbb 의 배분 가중치 는 1 입 니 다.그러면 역 효 과 를 형성 합 니 다.aaaa 컨트롤 의 배분 에 해당 하 는 것 은-5 bbbb 컨트롤 의 배분 은-1 이 고-1 비-5 가 크기 때문에 bb 컨트롤 이 차지 하 는 비율 이 aaaa 보다 큽 니 다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.qianfeng.demo1.MainActivity"
 android:weightSum="6"
 android:orientation="vertical"
 >
 <TextView
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_weight="5"
 android:textSize="30sp"
 android:text="aaaa"
 android:background="#f00"
 />
 <TextView
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_weight="1"
 android:textSize="30sp"
 android:text="bbbb"
 android:background="#0f0"
 />

</LinearLayout>

효과 도 는 다음 과 같다.
这里写图片描述
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기