layout_height всегда переносит содержимое - PullRequest
4 голосов
/ 10 февраля 2011

это простой вопрос:

У меня есть файл макета, который представлен как элемент внутри ListView.Я установил высоту RelativeLayout равным 100dp, но он не работает, он всегда переносит содержимое, независимо от того, какой макет я использую.Что я могу сделать, чтобы установить фиксированное значение для высоты макета без его переноса?

Спасибо за помощь.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="100dp"> <!-- this attribute seems to be ignored -->

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:orientation="horizontal"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerHorizontal="true">

        <ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="@dimen/progressbar_small"
                 android:layout_height="@dimen/progressbar_small"
                 android:layout_gravity="center_vertical" />

        <TextView xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="5dp"
                 android:text="@string/loading"
                 android:layout_gravity="center_vertical"
                 style="@style/ListItemSubtext" />

     </LinearLayout>
 </RelativeLayout>

Ответы [ 4 ]

6 голосов
/ 30 июня 2011

Делай так:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:minHeight="100dip">
4 голосов
/ 18 февраля 2011

Я думаю, что в виде списка все элементы имеют одинаковую высоту. В вашем случае вы можете добавить индикатор выполнения в представлении нижнего колонтитула. Добавьте фиктивный корректор высоты непосредственно перед или после ListItemSubtext. Попробуйте использовать TableLayout вместо Relative и Linear Layout.

Вот такой вот манекен.

<View android:layout_width="wrap_content" android:layout_height="100dip"/>

Обратите внимание, что вам не нужны xmlns в каждом элементе.

0 голосов
/ 10 февраля 2011

я делаю ниже изменения в вашем xml ..

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="100dp"> <!-- this attribute taking a fixed value as u said -->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_centerHorizontal="true" 
             android:layout_width="fill_parent" 
             android:layout_height="fill_parent" 
             android:orientation="horizontal">

    <ProgressBar xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_gravity="center_vertical" 
             android:layout_width="20dip" 
             android:layout_height="20dip"/>

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="5dp"
             android:text="@string/loading"
             android:layout_gravity="center_vertical"
             style="@style/ListItemSubtext" />

 </LinearLayout>

Если это не работает для вас, скажите, что именно вы хотите сделать.

0 голосов
/ 10 февраля 2011

Попробуйте просто использовать 100px. У меня работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...