인프런 커뮤니티 질문&답변

재철님의 프로필 이미지
재철

작성한 질문수

[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z

상대적 레이아웃 (Relative Layout)

버튼모양 질문 소스코드 첨부

작성

·

31

·

수정됨

0

강의대로 소스코드 입력했는데도 원으로 나옵니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!--레이아웃 기준으로 배치하기-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:text="parent\nstart"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:text="parent\nend"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="parent bottom"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:text="parent bottom\n + parent end"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="parent\ncenter"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="center\nhorizontal"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:text="center\nvertical"/>



</RelativeLayout>

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
재철님, 버튼이 원 모양으로 나오는 이유는 주어진 소스 코드에는 버튼의 모양을 원으로 만드는 특정 속성이 명시되어 있지 않기 때문입니다. Android에서 버튼을 원 모양으로 만들고자 할 때는 주로 버튼의 배경에 원 모양의 drawable을 설정하거나, 버튼의 width와 height를 같게 설정하고, background 속성에 원 모양을 정의한 drawable 리소스를 사용합니다. 하지만, 제공해주신 XML 코드에는 이러한 설정이 포함되어 있지 않습니다. 따라서 버튼이 원 모양으로 나오는 것과 관련된 코드나 설정이 누락되었거나, 다른 곳에서 해당 설정이 적용되었을 가능성이 있습니다.

원 모양의 버튼을 구현하려면 다음과 같은 방법을 사용할 수 있습니다.

  1. res/drawable 폴더 내에 원 모양의 배경을 갖는 XML 파일을 생성합니다. 예를 들어 circle_shape.xml 파일을 만들고 내용으로 원 모양의 정의를 포함시킵니다.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#FF0000"/>
</shape>
  1. 버튼의 android:background 속성에 이 drawable을 설정합니다.
<Button
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:background="@drawable/circle_shape"
    android:text="원 모양 버튼"/>

이 방법으로 버튼의 배경을 원형으로 설정할 수 있습니다. 만약 버튼이 여전히 원 모양으로 나오지 않는다면, 다른 스타일이나 테마 설정이 영향을 주고 있을 수 있으니 확인해 보세요.

재철님의 프로필 이미지
재철

작성한 질문수

질문하기