Android Eclipse Графический макет - PullRequest
0 голосов
/ 06 мая 2011

Я возился с пользовательским интерфейсом Android в Eclipse и не мог понять, почему мой графический макет не отражает мою настоящую программу при запуске на устройство. Реальная программа, кажется, имеет гораздо больший масштаб.

Мое целевое устройство - WVGA (800x480) с экраном 240 точек на дюйм (например, большинство новых смартфонов высокого класса). Я попытался отредактировать свое представление «Графические макеты», изменив экран на 3.7 WVGA (Nexus One), который соответствует характеристикам дисплея моего целевого устройства. Я также попытался создать собственную конфигурацию экрана, но безуспешно. Вот 2 скриншота из этого

Emulator View

WYSIWYG View

Вот мой макет

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitCenter"
        android:src="@drawable/androidcomp360" >
    </ImageView>

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="0px"
        android:layout_marginTop="10px" >

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView1"
            android:layout_below="@+id/textView1"
            android:paddingLeft="20px"
            android:text="Offset : " >
        </TextView>

        <TextView
            android:id="@+id/TextView02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView4"
            android:layout_alignTop="@+id/textView4"
            android:layout_toRightOf="@+id/textView4"
            android:paddingLeft="10px"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/TextView03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView02"
            android:layout_alignTop="@+id/TextView02"
            android:layout_toRightOf="@+id/TextView02"
            android:paddingLeft="20px"
            android:text="Offset Min :  " >
        </TextView>

        <TextView
            android:id="@+id/TextView04"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView03"
            android:layout_alignTop="@+id/TextView03"
            android:layout_toRightOf="@+id/TextView03"
            android:paddingLeft="10px"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView1"
            android:layout_alignTop="@+id/textView1"
            android:layout_toRightOf="@+id/textView1"
            android:paddingLeft="10px"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_alignTop="@+id/textView2"
            android:layout_toRightOf="@+id/textView2"
            android:paddingLeft="20px"
            android:text="GPS Heading : " >
        </TextView>

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView3"
            android:layout_alignTop="@+id/textView3"
            android:layout_toRightOf="@+id/textView3"
            android:paddingLeft="10px"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/TextView06"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView04"
            android:layout_alignTop="@+id/TextView04"
            android:layout_toRightOf="@+id/TextView04"
            android:paddingLeft="20px"
            android:text="Offset Max : " >
        </TextView>

        <TextView
            android:id="@+id/TextView05"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView06"
            android:layout_alignTop="@+id/TextView06"
            android:layout_toRightOf="@+id/TextView06"
            android:paddingLeft="10dp"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:paddingBottom="10px"
            android:paddingLeft="20px"
            android:text="Compass Heading : " >
        </TextView>
    </RelativeLayout>

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:maxHeight="50px"
        android:minHeight="30px"
        android:text="Log Data"
        android:typeface="normal"
        android:visibility="visible" >
    </Button>

    <ImageView
        android:id="@+id/ImageView01"
        android:layout_width="match_parent"
        android:layout_height="200px"
        android:scaleType="fitCenter"
        android:src="@drawable/androidcomp360" >
    </ImageView>

</LinearLayout>

Ответы [ 2 ]

0 голосов
/ 30 июля 2012

Попробуйте этот макет, и не используйте px, вместо этого используйте dp и поместите ваши изображения в drawable-hdpi:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:scaleType="fitCenter"
        android:src="@drawable/androidcomp360" >
    </ImageView>

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp" >

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView1"
            android:layout_below="@+id/textView1"
            android:paddingLeft="20dp"
            android:text="Offset : " >
        </TextView>

        <TextView
            android:id="@+id/TextView02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView4"
            android:layout_alignTop="@+id/textView4"
            android:layout_toRightOf="@+id/textView4"
            android:paddingLeft="10dp"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/TextView03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView02"
            android:layout_alignTop="@+id/TextView02"
            android:layout_toRightOf="@+id/TextView02"
            android:paddingLeft="20dp"
            android:text="Offset Min :  " >
        </TextView>

        <TextView
            android:id="@+id/TextView04"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView03"
            android:layout_alignTop="@+id/TextView03"
            android:layout_toRightOf="@+id/TextView03"
            android:paddingLeft="10dp"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView1"
            android:layout_alignTop="@+id/textView1"
            android:layout_toRightOf="@+id/textView1"
            android:paddingLeft="10dp"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_alignTop="@+id/textView2"
            android:layout_toRightOf="@+id/textView2"
            android:paddingLeft="20dp"
            android:text="GPS Heading : " >
        </TextView>

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView3"
            android:layout_alignTop="@+id/textView3"
            android:layout_toRightOf="@+id/textView3"
            android:paddingLeft="10dp"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/TextView06"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView04"
            android:layout_alignTop="@+id/TextView04"
            android:layout_toRightOf="@+id/TextView04"
            android:paddingLeft="20dp"
            android:text="Offset Max : " >
        </TextView>

        <TextView
            android:id="@+id/TextView05"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextView06"
            android:layout_alignTop="@+id/TextView06"
            android:layout_toRightOf="@+id/TextView06"
            android:paddingLeft="10dp"
            android:text="0" >
        </TextView>

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:paddingBottom="10dp"
            android:paddingLeft="20dp"
            android:text="Compass Heading : " >
        </TextView>
    </RelativeLayout>

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:maxHeight="50dp"
        android:minHeight="30dp"
        android:text="Log Data"
        android:typeface="normal"
        android:visibility="visible" >
    </Button>

    <ImageView
        android:id="@+id/ImageView01"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:scaleType="fitCenter"
        android:src="@drawable/androidcomp360" >
    </ImageView>

</LinearLayout>
0 голосов
/ 07 мая 2011

Измените масштаб всего на «dp», так как это делает его масштабируемым в зависимости от разрешения экрана.«px» - это абсолютное измерение в пикселях, которое не масштабируется.

...