2014-11-09 2 views
0

안드로이드 스튜디오에서 XML의 디자인보기에서 내 앱을 볼 때 잘 보입니다 (원하는 방식). 하지만 Moto G 인 장치에서 내 앱을 실행하면 레이아웃이 한쪽으로 치우친 것처럼 보입니다. 왜 이런거야?기기에서 실행될 때 Android xml 레이아웃이 엉망입니다.

이하 마이 모토 G 장치

enter image description here

로이드 스튜디오 디자인 뷰 (모든 관점 및 특징 측으로 퍼). 모든 것이 좋아 보인다.

enter image description here

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 

    android:background="@drawable/backgroundpage" 
    tools:context="xetron.appathon.orbis.landmarks"> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="70dp" 
     android:background="@drawable/bar" 
     android:id="@+id/relativeLayout"> 

     <TextView 
      android:text="Landmarks" 
      android:textStyle="bold" 
      android:textSize="30sp" 
      android:textColor="#005491" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_marginLeft="62dp" 
      android:layout_marginTop="11dp" 
      android:id="@+id/textView" /> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/landmarkName" 
      android:textStyle="bold" 
      android:textSize="30sp" 
      android:textColor="#005491" 
      android:text="UK" 
      android:layout_toEndOf="@+id/textView" 
      android:layout_marginLeft="34dp" 
      android:layout_alignTop="@+id/textView" 
      android:layout_toRightOf="@+id/textView" /> 
    </RelativeLayout> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/lmkname1" 
     android:textStyle="bold" 
     android:textSize="20sp" 
     android:textColor="#8FCE7B" 
     android:text="Forbidden 
Kingdom" 
     android:layout_marginLeft="35dp" 
     android:layout_marginTop="80dp" 
/> 

<ImageView 
    android:layout_width="180dp" 
    android:layout_height="160dp" 
    android:src="@drawable/lmk1china" 
    android:layout_below="@+id/relativeLayout" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="57dp" 
    android:id="@+id/lmkimg1" /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/lmkname2" 
     android:textStyle="bold" 
     android:textSize="25sp" 
     android:textColor="#8FCE7B" 
     android:text="Shanghai 
    Tower" 
     android:layout_marginLeft="210dp" 
     android:layout_marginTop="80dp" 
     /> 
    <ImageView 
     android:layout_width="180dp" 
     android:layout_height="160dp" 
     android:src="@drawable/lmk2china" 
     android:layout_alignTop="@+id/lmkimg1" 
     android:layout_alignRight="@+id/relativeLayout" 
     android:layout_alignEnd="@+id/relativeLayout" 
     android:id="@+id/lmkimg2" /> 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/lmkname3" 
     android:textStyle="bold" 
     android:textSize="25sp" 
     android:textColor="#8FCE7B" 
     android:text="Great Wall 
Of China" 
     android:layout_marginLeft="35dp" 
     android:layout_marginTop="435dp" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/lmkname4" 
     android:textStyle="bold" 
     android:textSize="25sp" 
     android:textColor="#8FCE7B" 
     android:text="Temple Of 
    Heaven" 
     android:layout_marginLeft="210dp" 
     android:layout_marginTop="435dp" 
     /> 




    <ImageView 
     android:layout_width="180dp" 
     android:layout_height="160dp" 
     android:src="@drawable/lmk3china" 
     android:layout_below="@+id/lmkimg1" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 

     android:id="@+id/lmkimg3" /> 

    <ImageView 
     android:layout_width="180dp" 
     android:layout_height="160dp" 
     android:src="@drawable/lmk4china" 
     android:layout_below="@+id/lmkimg2" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginBottom="24dp" 
     android:id="@+id/lmkimg4"/> 
</RelativeLayout> 

답변

0

이 모든 화면 크기에 확장 성하지 않습니다 때문에이 덜 고정 된 크기 (예 : 이미지 크기 180dp)와 디자인을 만들려고한다 아래 내 XML 코드 . 잘 스케일링 된 레이아웃을 만드는 것은 결코 쉬운 일이 아니며 건물을 만드는 동안 바로 테스트해야합니다.

즉, xml-filename에 크기를 추가하여 다른 화면 크기에 대해 다른 레이아웃을 만들 수 있습니다. 그러나 이것은 주로 주요 화면 크기 (전화, 태블릿, 풍경, 인물)에 대해 서로 다른 레이아웃을 정의하는 데 사용됩니다. 차이 인치에 대한 별도의 레이아웃을 정의하는 데 사용되지 않습니다.

0

"하드"값을 사용하지 마십시오. 대신 "dip"을 사용하십시오. 또한 요소 위치 지정에 가중치를 사용하십시오.

예 :

<LinearLayout 
     android:id="@+id/android" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <View 
      android:layout_width="0dip" 
      android:layout_height="match_parent" 
      android:background="#FF0000" 
      android:layout_weight="1" /> 
    </LinearLayout> 
관련 문제