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()

반응형