Используйте layout_alignBaseline с Spinner - PullRequest
2 голосов
/ 04 мая 2010

Я заметил, что layout_alignBaseline элемента управления TextVew не работает с элементом управления Spinner. Я пытаюсь разместить текст слева от счетчика, но он попадает в верхнюю часть родительского элемента управления.

<Spinner  
android:id="@+id/locations"  
android:layout_width="fill_parent"  
android:layout_height="wrap_content"  
android:layout_below="@id/userCode"  
android:layout_alignLeft="@id/userCode"  
android:layout_marginTop="15dip"
    />

<TextView  
android:id="@+id/locationsLbl"  
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"  
        android:text="Region"  
        android:layout_alignBaseline="@id/locations"  
    />  

Это ошибка или я что-то не так делаю? Та же самая техника прекрасно работает с элементами управления EditText.

Ответы [ 3 ]

6 голосов
/ 08 октября 2010

Я также столкнулся с той же проблемой, но нашел следующий обходной путь

<Spinner  
    android:id="@+id/locations"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:layout_below="@id/userCode"  
    android:layout_alignLeft="@id/userCode"  
    android:layout_marginTop="15dip"/>

<TextView  
    android:id="@+id/locationsLbl"  
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content"  
    android:text="Region"  
    android:layout_alignTop="@+id/locations"
    android:layout_alignBottom="@+id/locations"
    android:gravity="center_vertical"/>
1 голос
/ 02 апреля 2013

Более новые версии Android поддерживают выравнивание базовой линии для Spinners. Spinner создаст первый вид списка и использует его выравнивание по базовой линии.

Если это не сработает, убедитесь, что ваш спиннер-адаптер создает представление, поддерживающее выравнивание базовой линии. (getBaseline ()! = -1). Для LinearLayouts вы можете использовать атрибут baselineAlignedChildIndex, чтобы указать дочернего элемента в линейном макете для использования.

0 голосов
/ 07 мая 2010

android:layout_toLeftOf="@id/locations"?

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