2015-04-20 4 views
1

Мне нужно отображать и TextView (label), EditText (Input) и TextView (суффикс) в строке.Переполнение TextView и EditText

Проблема у меня есть - если ярлык TextView слишком длинный, это EditText и Suffix TextView и не нарисованы.

Вот мой код.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_gravity="center_vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 
<TextView 
    android:layout_weight="0" 
    android:padding="5dp" 
    android:text="Label" 
    android:id="@+id/label_text_view" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<EditText 
    android:layout_weight="1" 
    android:id="@+id/input_edit_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColorHint="@color/dark_grey" 
    android:textColor="@color/black" 
    android:hint="text.." /> 

<TextView 
    android:padding="5dp" 
    android:layout_weight="0" 
    android:text="Suffix.." 
    android:background="@color/lite_grey" 
    android:id="@+id/suffix_text_view" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

Так что я хочу, - даже если этикетка более 2-3 строк, в течение EditText появляться следуют другим TextView.

Любые указатели будут оценены по достоинству.

Спасибо!

Редактировать: Я добавил несколько «диаграмм», чтобы вы могли понять, что я хочу сделать немного лучше.

Метка к EditText может быть произвольной длины (2/3 линии), так что каждый раз, когда заканчивается метка Я хочу, чтобы начать EditText (за которым следует другой TextView показывая суффикс ..)

.. ! What I want [Это показывает метку 2 строки и TextView ..] 2 line label and EditText

Edit 2: Спасибо за ответы, ребята !! Я думаю, что @questioner действительно понял, что я хочу делать. Т.е. я хочу, чтобы ваши 3 представления переместились в другие строки, чтобы они вели себя так, как будто они были одним видом, - и, как он предложил, мне нужно будет найти библиотеку для этого!

ответ

1

Как об этом:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_gravity="center_vertical" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

<TextView 
    android:padding="5dp" 
    android:text="Label" 
    android:id="@+id/label_text_view" 
    android:layout_width="100dp" 
    android:layout_gravity="center_vertical" 
    android:layout_height="wrap_content"/> 

<EditText 
    android:layout_weight="1" 
    android:id="@+id/input_edit_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical" 
    android:textColorHint="@color/dark_grey" 
    android:textColor="@color/black" 
    android:hint="text.."/> 

<TextView 
    android:padding="5dp" 
    android:text="Suffix.." 
    android:layout_gravity="center_vertical" 
    android:background="@color/lite_grey" 
    android:id="@+id/suffix_text_view" 
    android:layout_width="100dp" 
    android:layout_height="wrap_content"/> 
</LinearLayout> 

Если вы хотите, чтобы ваши 3 просмотров перейти на другие линии, так что они ведут себя, как они были один вид - вы должны использовать внешнюю библиотеку для этого.

+0

Спасибо! Отличное предложение .. см. Edit2 выше! – Zain

1

Почему бы не использовать RelativeLayout вместо LinearLayout, а затем использовать android:layout_below="@+id/..." или android:layout_above="@+id/..." также android:layout_toRightOf="@+id/..." или android:layout_toLeftOf="@+id/..."

0

Набор

android:layout_weight="1" 

для каждого вида, так что все они занимают одинаковое количество горизонтального пространства.

+0

Не дает мне того, что я хочу - в итоге я получу 3 столбца, если ярлык очень длинный ..! Я хочу LabelTextView, а затем EditText, после чего SuffixTextView один за другим – Zain

+0

по горизонтали или по вертикали? Можете ли вы загрузить изображение, чтобы мы точно знали, как вы хотите изменить размеры? – ripple182

0
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_gravity="center_vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:weightSum="1"> 

Попробуйте или расширьте еще немного.

Смежные вопросы