개발하는 도중 에디트 박스를 특정 위치에 동일하게 띄워야 해서 dip로 지정하여 아래와 같이 layout을 짰습니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/super_main"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/main"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</LinearLayout>
<EditText
android:id="@+id/askNameEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
android:singleLine="true"
android:hint="Name"
android:scrollHorizontally="true"
android:imeOptions="actionDone"
android:background="@drawable/main_name"
android:drawableLeft="@drawable/player"
android:drawableRight="@drawable/main_name_r"
android:drawablePadding="4dp"
android:layout_marginLeft="20dip"
android:layout_marginTop="71dip"
android:textSize="12dp">
</EditText>
<EditText
android:id="@+id/answerEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
android:singleLine="true"
android:hint="Answer"
android:cursorVisible="true"
android:scrollHorizontally="true"
android:imeOptions="actionDone"
android:background="@drawable/game_inputbox"
android:drawableLeft="@drawable/game_inputbox_l"
android:drawableBottom="@drawable/game_inputbox_b"
android:layout_marginTop="150dip"
android:layout_marginLeft="85dip"
android:textSize="18dp">
</EditText>
<Button
android:id="@+id/answerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
android:background="@drawable/game_inputbox_button"
android:layout_marginTop="150dip"
android:layout_toRightOf="@id/answerEditText">
</Button>
</RelativeLayout>
위와 같이 구현하였고 따로 java코드는 없습니다.
그러니 결과가 아래 이미지 처럼 나오는데 우선 넥서스S에서의 결과
그리고 아래는 갤럭시탭10.1에서의 결과입니다.
말로 문제점을 다시 얘기 하면 넥서스S에서는 화면 거의 가운데에 위치하는데 갤럭시탭10.1에서는 완전 좌측 상단에 위치한다는 점입니다.
dip를 사용하면 어느 해상도나 밀도에 맞게 배치된다고 알고 있었는데 아닌거 같네요ㅜㅜ
어떻게 갤럭시탭10.1에서도 화면 거의 가운데에 위치하도록 할 수 없을까요?ㅜㅜ
정말 하루종일 삽질하고 찾아보다가 먼가 모르는게 있는거 같아서 질문 올립니다....
아시는 분 도움 좀 주세요..ㅜㅜ
조금만 산수를 해보시면 말씀하신 "dp를 사용하면 어느 해상도나 밀도에 맞게 배치된다"라는 말이 허구라는 것을 알게 됩니다.
모든 단말이 모두 같은 max dp (가로 세로 각각)를 갖는다면 위의 말은 성립됩니다.
하지만 이게 아닌 경우는 dp를 사용하더라도 px단위와 동일한 이슈를 가지게 됩니다.
레이아웃의 gravity나 정렬하는 속성을 이용하시고, fill_parent와 wrap_content를 활용하셔야 합니다.