Kotlin
Java로 layout_gravity와 gravity 설정하는 법
green_ne
2020. 1. 5. 14:50
XML코드에서 "layout_" 라고 시작하는 코드는 LayoutParams에서 설정하면 된다.
GridLayout에서의 Java 코드 예시,
// GridLayout 생성
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT
);
GridLayout grid = new GridLayout(getContext());
grid.setRowCount(2);
grid.setColumnCount(3);
grid.setOrientation(GridLayout.HORIZONTAL);
baseLayout.addView(grid, params);
// 0행 0열 TextView 생성
GridLayout.LayoutParams params1 = new GridLayout.LayoutParams(
GridLayout.spec(0, GridLayout.CENTER),
GridLayout.spec(0, GridLayout.CENTER));
params1.setGravity(Gravity.FILL_HORIZONTAL);
TextView tv = new TextView(getContext());
tv.setText("비고");
tv.setGravity(Gravity.CENTER);
tv.setVisibility(View.INVISIBLE);
grid.addView(tv, params1);
위 코드는 아래 XML 코드와 같다.
<LinearLayout
android:id="@+id/baseLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rowCount="2"
android:columnCount="3"
android:orientation="horizontal">
<TextView
android:layout_row="0"
android:layout_column="0"
android:layout_gravity="fill_horizontal"
android:text="비고"
android:gravity="center"
android:visibility="invisible"/>
</GridLayout>
</LinearLayout>
따라서..
Xml의 <layout_gravity>는 java에서 LayoutParams.setGravity()
Xml의 <gravity>는 java에서 View.setGravity()
반응형