Appcompat21 GridLayout에는 아래와 같이 사용할 수 있는 열 및 행 가중치가 있어 위의 이미지와 같은 그리드 레이아웃의 각 그리드 항목을 균등하게 만들 수 있습니다. GridLayout API를 보면 가장 먼저 눈에 보이는 것은 TableLayout과 유사한 기능을 제공하지만 다소 다른 방식으로 작동한다는 것입니다. 사실, 그것은 다소 더 테이블 레이아웃 및 LinearLayout의 하이브리드 처럼. TableLayout을 다룰 때와 유사한 간단한 예제로 시작하겠습니다: 다음은 상위 너비에 걸친 6개의 열이 있는 테이블의 처음 2행을 보여주는 몇 가지 예제 코드입니다. 각 셀의 LinearLayout 및 ImageView는 셀의 색상이 유지되는 동안 셀 내에서 이미지의 “켜기 및 끄기”를 허용하는 데 사용됩니다. 예를 들어 GridLayout이 ALIGN_MARGINS 모드인 경우 수량 맨 위 – layoutParams.topMargin은 TOP 정렬을 사용하는 행 그룹에 속한 모든 자식에 대해 동일합니다. 그리드 레이아웃은 요소 태그를 사용하여 XML 파일 내에서 선언됩니다. 예: 이 예제의 그리드 레이아웃에는 두 개의 열이 있습니다. 첫 번째 행은 사용자 이름 행이며, 사용자는 입력 텍스트 상자에 사용자 이름을 입력 할 수 있습니다. 두 번째 행은 암호 행, 그것에 사용자 입력 암호입니다.

이 보기와 연관된 AssistStructure.ViewNode가 자동 완성을 위해 중요한 것으로 간주되는지 여부를 Android 시스템에 암시합니다. 이것은 좋은 튜토리얼, 대단히 감사합니다! 그러나, 그것은 나를 위해 작동 하지 않습니다. 모든 col 3 항목에 “fill_horizontal”을 추가하면 col 3 셀은 변경되지 않고 (각 셀의 가장 넓은 항목 및 중심 내용의 너비로 확장하는 대신) col 4가 완전히 정당화됩니다. 새로운 Android 프로젝트로 시작하여 activity_main.xml의 코드를 위에 나열된 xml 코드로 대체했습니다. 이클립스에서 에뮬레이터를 사용하고 있습니다. 예를 들어 GridLayout이 ALIGN_BOUNDS 모드에 있는 경우 TOP 정렬을 사용하는 행 그룹에 속한 자식은 View.getTop() 메서드가 호출될 때 모두 동일한 값을 반환합니다. android.widget.GridLayout 그리드에서 자식 보기를 정렬 하는 데 사용 하는 레이아웃 관리자입니다. 그리드에서 사용하는 열과 행의 양을 지정할 수 있습니다. layout_margin 속성을 지정하여 그리드 레이아웃 크기를 변경할 수 있습니다. 하위 뷰의 layout_rowSpan 또는 layout_columnSpan 속성을 사용하여 근처의 행 또는 열을 병합할 수도 있습니다. 다음은 LinearLayout 하위 뷰를 사용하는 작은 예제입니다. (사용하지 않은 영역을 차지하고 단추를 원하는 위치로 푸시하는 공간 뷰를 사용했습니다.) 마찬가지로 GridLayout의 방향은 android:orientation 속성을 통해 선택적으로 정의될 수 있습니다.

다음 예제 XML은 가로 방향으로 2 x 2 GridLayout 구성을 선언합니다: 세 번째 행에는 하나의 단추만 포함되고 단추는 layout_columnSpan 속성을 설정하여 두 열을 합산합니다. 이 단추를 클릭하면 그리드 레이아웃에 새 암호 행이 프로그래밍 방식으로 추가됩니다. 여기에 약간의 도움이되지 http://stackoverflow.com/questions/10812552/heterogeneous-gridlayout 그리드 레이아웃의 또 다른 기능은 각 자식의 layout_row 및 layout_column 특성 (셀 및 열 값)을 사용하여 셀을 정확하게 배치하는 기능입니다. 여기서 는 0을 기반으로 사용해야 하므로 첫 번째 열 또는 셀은 0이지 1이 아닙니다.) 이 기술에 대해 기억해야 할 중요한 점은 셀의 위치를 명시적으로 설정하면 GridLayout이 현재 위치를 효과적으로 이동하고 GridView는 거기에서 셀의 위치를 계속 유지한다는 것입니다. 예를 들어, 아래 행에 “1,3”이라는 텍스트가 들어있는 셀의 위치를 전환합니다. 먼저 그리드 레이아웃을 루트 레이아웃으로 정의합니다.

 

Comments are closed.

Set your Twitter account name in your settings to use the TwitterBar Section.