2016-12-13 9 views
2

Я все время изучал, я не смог найти правильный ответ.Затухание последних нескольких строк TextView

Я также не могу добиться этого самостоятельно, поэтому, пожалуйста, помогите мне

У меня есть InfoWindowDialog вид я создаю, который имеет TextView, который имеет определенный maxHeight.

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin"> 

     <TextView 
      android:id="@+id/txt_desc" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="LONG_TEXT_WHICH_HAS_A_FEW_LINES..." 
      android:maxHeight="50dp"/> 

</RelativeLayout> 

И я хочу, чтобы добиться чего-то похожее на последних строках этого примера:

enter image description here

enter image description here

Я попытался решение упомянул Fade bottom of a textview android

Размещая android:requiresFadingEdge="vertical " и android:fadingEdgeLength="32dp" и не имеет результатов.

+0

Почему вы не используете кнопку с текстом больше и фон с некоторой прозрачностью? Это может помочь вам достичь того, чего вы хотите. – Rahil2952

+0

Я искал что-то, что в конечном итоге не было бы кнопки сверху – Firecat

+0

, что ярлык «больше», безусловно, сверху ... – njzk2

ответ

2

Существует несколько решений. Самый простой способ - добавить элемент пользовательского интерфейса. Добавьте наложение в нижней части вашего представления, которое имеет некоторую прозрачность, например. 50%. Это позволит добиться того, что вы просите.

Другие варианты для рассмотрения:

1) Отследить последнюю строку текста, разбить его и добавить 50% прозрачность к нему.

2) Отследить последнюю строку текста, разбить его и изменить цвет на другой серый цвет. Это создает впечатление прозрачности.

3) При использовании scrollview у них есть функции затухания края.

<ScrollView android:requiresFadingEdge="vertical"> 

и в вашем коде, вы можете сделать следующее

ScrollView scroll = findById(); scroll.setFadingEdgeLength(150); 

или в XML использовать android:fadingEdgeLength="150dp". Ура!

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

  • Нет связанных вопросов^_^