проблема макета в андроид - PullRequest
2 голосов
/ 16 января 2011

я пытаюсь показать макет как изображение 1 (textView и editText в одной строке), но мой вывод показан как изображение 2!я пытаюсь с этим кодом:

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

    <TextView 
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="URL:"
        android:layout_alignBaseline="@+id/entry"
        android:layout_alignParentLeft="true"/>
        />

    <EditText 
        android:id="@+id/entry"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/label"
        android:layout_alignParentTop="true"
        />

    <Button 
        android:id="@+id/button" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal"
        android:paddingRight="30px" 
        android:paddingLeft="30px" 
        android:text="Go..." 
        />

</LinearLayout>

пожалуйста, помогите мне спасибо

image1

image2

Ответы [ 4 ]

4 голосов
/ 16 января 2011

Попробуйте это

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:orientation="vertical">
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:orientation="horizontal">
<TextView 
    android:id="@+id/label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="URL:"
    android:layout_alignBaseline="@+id/entry"
    android:layout_alignParentLeft="true"/>
    />
<EditText 
    android:id="@+id/entry"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/label"
    android:layout_alignParentTop="true"
    />
</LinearLayout>
<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal"
    android:paddingRight="30px" 
    android:paddingLeft="30px" 
    android:text="Go..." 
    />
</LinearLayout>

Или используйте RelativeLayout

2 голосов
/ 16 января 2011

Используйте RelativeLayout вместо линейного и получите android:rightOf.

1 голос
/ 07 марта 2011

Используйте относительный макет вместо линейного макета. Одним из преимуществ этого является то, что он улучшает вашу производительность. Если вы пытаетесь искать и идентифицировать линейный макет, он проверяет каждый компонент линейного макета и пытается сопоставить его сid, но с относительной разметкой это будет быстрее, так как все элементы определены относительно друг друга.

1 голос
/ 16 января 2011

Насколько я понял, вы не можете использовать такие атрибуты _toRightTop, _BOTTOM с линейным расположением. Используйте RelativeLayout, и все должно быть в порядке.

...