Вопрос по макету Android UI - PullRequest
       4

Вопрос по макету Android UI

0 голосов
/ 04 октября 2010

Я новичок в программировании на Android и много занимался поиском ответа на этот вопрос, однако не могу найти ответ. Возможно, я использую неправильные условия поиска, потому что это похоже на довольно простой запрос. В моем дизайне (в качестве примера) у меня было бы два текстовых поля, определенных в моей относительной компоновке, за которыми следовало изображение, и я хотел бы, чтобы изображение занимало остальную часть экрана. Вот что у меня есть:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/widget29"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ImageView
android:id="@+id/widget38"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/widget37"
android:layout_alignParentLeft="true"
>
</ImageView>
<TextView
android:id="@+id/widget37"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="second view"
android:layout_below="@+id/widget36"
android:layout_alignParentLeft="true"
>
</TextView>
<TextView
android:id="@+id/widget36"
android:layout_width="fill_parent"
android:layout_height="50px"
android:text="first view"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
>
</TextView>
</RelativeLayout>

Как мне сказать, чтобы мой ImageView занимал всю остальную часть экрана. Если я определяю высоту и ширину как «fill_parent», он заполняет два текстовых представления. Заранее благодарим за любую помощь, которую вы можете предоставить.

Jon

Ответы [ 2 ]

2 голосов
/ 04 октября 2010

Похоже, что вы просто складываете виды ... мне кажется, что эта ситуация будет работать намного лучше с вертикальным LinearLayout вместо RelativeLayout, для одного было бы значительно легче заставить вид изображения охватыватьостальное пространство без наложения ваших текстовых представлений:

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

<TextView
android:id="@+id/widget36"
android:layout_width="fill_parent"
android:layout_height="50px"
android:text="first view"
android:layout_weight="0"
/>

<TextView
android:id="@+id/widget37"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="second view"
android:layout_weight="0"
/>

<ImageView
android:id="@+id/widget38"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
</LinearLayout>

В приведенном выше примере вы используете веса макета для принудительного совместного использования пространства экрана.Установка нулевого веса заставляет менеджер макета предоставлять только запрошенное пространство двум текстовым представлениям, и так как представление изображения установлено, чтобы заполнить родительский (с весом 1), он получает все оставшееся пространство

0 голосов
/ 04 октября 2010

Если это RelativeLayout, то вам придется сделать что-то подобное в вашем ImageView:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/id_of_your_second_textview"
    android:layout_alignParentRight="true"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...