안드로이드 테이블 레이아웃 테두리 - andeuloideu teibeul leiaus teduli

Table(표)Layout은 뷰들을 표처럼 배치 할 수 있습니다. 일반적인 표가 행(가로 방향, Row, 三)과 열(세로 방향, 川)로 구성 되어 있듯이 테이블 레이아웃 또한 행과 열로 구성되어있으며 열은 따로 지정 하지 않고 행을 추가 함으로 표를 만듭니다.

속성

<TableRow></TableRow> - 테이블 레이아웃의 행을 추가 해줍니다. 중간에 뷰를 넣어줍니다. 레이아웃을 사용하듯이 써줍니다. weight로 가중치를 줄 수도 있습니다. 테이블 레이아웃은 리니어 레이아웃을 상속 받기 때문에 리니어 레이아웃의 속성을 그대로 받습니다.
weight - 가중치를 추가 해줍니다.
layout_span="정수" 지정한 정수 만큼 행을 합쳐줍니다. weight와 같이 사용하면 생각한것처럼 안나오니 따로 사용권장합니다.

TableRow 구현 예제

<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" xmlns:tools="//schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TableRow android:layout_height="0dp" android:layout_weight="1" android:background="#FF0000"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Row1 Textview1" android:layout_weight="1" android:background="#ff9966" android:layout_margin="5dp" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Row1 Textview2" android:layout_weight="1" android:background="#6600cc" android:layout_margin="5dp" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Row1 Textview3" android:layout_weight="1" android:background="#66ffdd" android:layout_margin="5dp" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Row1 Textview4" android:layout_weight="1" android:background="#3355cc" android:layout_margin="5dp" /> </TableRow> <TableRow android:layout_height="0dp" android:layout_weight="1"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Row2 Textview1" android:layout_weight="1" android:background="#99ff00" android:layout_margin="5dp" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="Row2 Textview2" android:layout_weight="1" android:background="#cc00ff" android:layout_margin="5dp" /> </TableRow> </TableLayout>TableLayout은 자신의 하위 요소를 행과 열에 배치합니다. TableLayout 컨테이너는 행, 열 또는 셀의 테두리 선을 표시하지 않습니다. 표에는 셀이 가장 많은 행과 같은 수의 열이 있습니다. 테이블은 셀을 비워둘 수 있습니다. 셀은 HTML에서와 마찬가지로 여러 열에 걸쳐 있을 수 있습니다. TableRow.LayoutParams 클래스의 span 필드를 사용하여 열을 확장할 수 있습니다.

참고: 셀은 여러 행에 걸쳐 있을 수 없습니다.

<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout> 0 객체는 TableLayout의 하위 뷰입니다(각 TableRow는 표에서 단일 행을 정의함). 각 행에는 0개 이상의 셀이 있으며 각 셀은 다른 View 중 어떤 종류로든 정의할 수 있습니다. 따라서 한 행의 셀은 ImageView 또는 TextView 객체와 같이 다양한 View 객체로 구성될 수 있습니다. 셀은 또한 ViewGroup 객체가 될 수도 있습니다(예: 다른 TableLayout을 셀로 중첩할 수 있음).

다음 샘플 레이아웃에는 2개의 행이 있고 각 행에는 2개의 셀이 있습니다. 첨부된 스크린샷은 결과를 보여주며 점선으로 표시된 셀 테두리는 시각적인 효과를 위해 추가되었습니다.

<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:text="@string/table_layout_4_open" android:padding="3dip" /> <TextView android:text="@string/table_layout_4_open_shortcut" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/table_layout_4_save" android:padding="3dip" /> <TextView android:text="@string/table_layout_4_save_shortcut" android:gravity="right" android:padding="3dip" /> </TableRow> </TableLayout> TableLayout 요소는 HTML <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout> 4 요소와 같고 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout> 0는 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout> 6 요소와 같습니다. 하지만 셀은 모든 종류의 View 요소를 사용할 수 있습니다. 이 예에서는 각 셀에 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout> 8가 사용됩니다. 일부 행 사이에는 기본 View도 있으며 가로줄을 그리는 데 사용됩니다.

  • HelloTableLayout 활동이 다음과 같이 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main) } 0 메서드에서 이 레이아웃을 로드하는지 확인합니다.

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main) }

    자바

    public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main) } 1 메서드는 리소스 ID가 지정하는 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main) } 2의 레이아웃 파일을 로드하며 리소스 ID인 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main) } 3은 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="//schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1"> <TableRow> <TextView android:layout_column="1" android:text="Open..." android:padding="3dip" /> <TextView android:text="Ctrl-O" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save..." android:padding="3dip" /> <TextView android:text="Ctrl-S" android:gravity="right" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:layout_column="1" android:text="Save As..." android:padding="3dip" /> <TextView android:text="Ctrl-Shift-S" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Import..." android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="X" android:padding="3dip" /> <TextView android:text="Export..." android:padding="3dip" /> <TextView android:text="Ctrl-E" android:gravity="right" android:padding="3dip" /> </TableRow> <View android:layout_height="2dip" android:background="#FF909090" /> <TableRow> <TextView android:layout_column="1" android:text="Quit" android:padding="3dip" /> </TableRow> </TableLayout> 2 레이아웃 파일을 참조합니다.

  • Toplist

    최신 우편물

    태그