선형 레이아웃을 수직 중앙에 정렬하는 방법은 무엇입니까?
버튼의 세로 중심을 삭제하기 위해 다음 그림 (하늘색 테두리)을 보여주는 LinearLayout의 세로 중심을 정렬하려고합니다.
그래서 id : groupNumbers의 중력을 center_vertical로 설정했습니다.
그러나 변경되지 않았습니다.
id : groupNumbers를 버튼의 중앙에 정렬하는 방법은 무엇입니까?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/groupNumbers"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_weight="0.7"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txtSelected01"
android:text="00"
android:textSize="30dp"
android:gravity="center_horizontal"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txtSelected02"
android:text="00"
android:textSize="30dp"
android:gravity="center_horizontal"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btn_deleteNum"
android:text="Delete"
android:textSize="20dp"
android:layout_weight="0.2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
방향 및 중력 변경
<LinearLayout
android:id="@+id/groupNumbers"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_weight="0.7"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
...에
android:orientation="vertical"
android:layout_gravity="center_vertical"
방향 : 수평을 추가하고 있으므로 레이아웃에는 단일 수평선에 모든 요소가 포함됩니다. 요소를 중앙에 놓을 수 없습니다.
도움이 되었기를 바랍니다.
android:layout_gravity
대신 사용android:gravity
android:gravity
사용되는 View 내용의 중력을 설정합니다. android:layout_gravity
상위 뷰 또는 레이아웃의 중력을 설정합니다.
사용 layout_gravity
대신에 gravity
. layout_gravity
부모에게 위치해야 할 위치를 gravity
알려주고 자식에게 위치해야 할 위치를 알려줍니다.
<LinearLayout
android:id="@+id/groupNumbers"
android:orientation="horizontal"
android:layout_gravity="center_vertical"
android:layout_weight="0.7"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
나를 android:layout_centerVertical="true"
위해 부모에서 사용하는 문제를 해결 했습니다 RelativeLayout
.
<RelativeLayout ... >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerVertical="true">
</RelativeLayout>
중앙에 나타나는 상자 (가로 및 세로)의 경우 하나의 LinearLayout으로 작동하도록했습니다. Viswanath L 의 답변 이 매우 도움이되었습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/layout_bg"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:id="@+id/dialog_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="Error"
android:textColor="#000" />
<TextView
android:id="@+id/message_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="Error-Message"
android:textColor="#000" />
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/message_text"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:text="Ok" />
</LinearLayout>
LinearLayout 내에서 RelativeLayout 사용
예:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="Status"/>
</RelativeLayout>
</LinearLayout>
android:weightSum
부모 LinearLayout에 속성을 사용 하고 값 3을 제공하십시오. 그런 다음 자식 LinearLayout에서 android:layout_weight
각각 2와 1을 사용하십시오 . 그런 다음 First Chil LinearLayout에서 android:layout_gravity="center_vertical"
. 다음 코드와 같이
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="3"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/status_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00"
android:textColor="@color/red"
android:textSize="@dimen/default_text_size"
/>
<TextView
android:id="@+id/status_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00"
android:textColor="@color/red"
android:textSize="@dimen/default_text_size"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Delete"/>
</LinearLayout>
</LinearLayout>
참조 URL : https://stackoverflow.com/questions/20185340/how-to-align-linearlayout-to-vertical-center
'UFO ET IT' 카테고리의 다른 글
오류 : 잠금 파일에 예기치 않은 잠금 프로토콜이 있습니다. (0) | 2021.01.10 |
---|---|
지원되지 않는 작업 : Android, Retrofit, OkHttp. (0) | 2021.01.10 |
unique_ptr :: release ()는 소멸자를 호출합니까? (0) | 2021.01.09 |
처음 10000 개의 소수에 대한 가장 효율적인 코드? (0) | 2021.01.09 |
Core Data Managed Object를 복제하거나 복사하려면 어떻게해야합니까? (0) | 2021.01.09 |