마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Activity_main.xml에 설정한 위치값이 적용이 안되는거 같습니다.

0 추천

안녕하세요. 이제 막 안드로이드 개발을 공부를 시작한 초보자입니다.

뒤늦게 영어에 대한 공부 열정이 생겨서 한국이 아닌 타국에서 영어를 공부하다 재취업하기 위해서 다시금 슬슬 개발 공부를 시작하고 있는 중입니다.

요즘 모바일이 대세라 안드로이드를 공부하고 있는데요.

제가 산 책이 이클립스 위주로 되어있는데 이젠 안드로이드 스튜디오만 지원된다고 들어서 안드로이드 스튜디오에서 예제를 실습하고 있습니다.

그런데 처음부터 문제가 발생하여 이렇게 여쭈어 봅니다.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.administrator.textview.MainActivity">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="146dp"
        android:background="#f88"
        android:text="@string/hello_world"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/textView1"
        android:layout_centerVertical="true"
        android:background="#88ff88"
        android:text="Hello Guys" />

    <TextView
        android:id="@+id/textMessage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/textView1"
        android:layout_below="@id/textView2"
        android:background="#880000ff"
        android:textColor="#fff"
        android:textSize="25sp"
        android:text="Message" />

</android.support.constraint.ConstraintLayout>

가장 기본적인 XML 파일 수정해서 원하는 위치에 텍스트를 띄우는 예제인데요.

 

코드는 아래와 같습니다.

 

본래 결과물은 가운데 Hello Android 그 밑에 Hello Guys 그 밑에 Message 순으로 떠야하는데

위 코드로 미리보기를 보거나 ADB에 실행할 경우 Hello Android는 중앙이지만, Hello Guys와 Message는 좌측 상단에 출력이 되네요.

안드로이드 스튜디오에선 별도의 설정을 더 가져가야하는지 궁금하네요?

추가로, 미리보기에서 텍스트 위치를 옮길 경우 그 위치값이 XML에 박히던데 이렇게 띄우면 모든 크기 화면에서 동일한 결과물이 나타나나요?

(심지어 이렇게 텍스트를 옮겨서 실행해도 결과물에선 위와 동일하게 두 텍스트는 좌측 상단에 배치되네요 ㅠㅠ)

 

그럼 답변 기다리겠습니다.

 

좋은 하루 되세요 ^^

 

Wooya (180 포인트) 님이 2017년 4월 18일 질문

1개의 답변

+1 추천
 
채택된 답변
android.support.constraint.ConstraintLayout

이거 때문에 그래요.

세로로 나오게 하려면 LinearLayout으로 바꾸고, orient를 vertical  로 하면 됩니다.

쎄미 (162,410 포인트) 님이 2017년 4월 18일 답변
Wooya님이 2017년 4월 19일 채택됨
답변 정말 감사드립니다.
한가지 질문 더 드리겠습니다.
위 코드를 LinearLayout으로 교체했는데 또 예상과 다른 결과물이 나오네요 ㅠㅠ;;
결과물이 Hello android가 제일 왼쪽 중간, Hello Guys는 상단에서 두 텍스트 사이, 그리고 Message는 상단 Hello Guys 오른쪽에 위치하네용...
아무래도 몇가지 명령어가 제대로 먹히지 않는거 같은데용 ㅠㅠ
android:layout_centerHorizontal이랑 몇몇개가 동작 안하는거 같은데 혹시 무엇이 문제인지 알려주실 수 있으실까요?
아마 오리엔트가 호리즌탈로 되어있는듯한데요?,,,,,
달아주신 댓글들로 여러모로 찾아보며 적용해본 결과
RelativeLayout으로 적용하니 해결이 되었습니당 ㅠㅠ
덕분에 두 레이아웃에 대해 잘 배우게 되었네용
감사합니다 ^^
...