#android #textview
#Android #textview
Вопрос:
Я хочу, чтобы два TextViews перекрывались таким образом, чтобы отдельные буквы перекрывались идеально (т. Е. вы даже не можете видеть, что на экране есть другой TextView). Вот соответствующая часть моего макета:
<com.testing.android.animals.OutlinedTextView
android:id="@ id/label_left_name"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Elephant"
android:layout_alignTop="@id/picture_left"
android:layout_centerHorizontal="true"
android:textColor="#ffffff"
android:textSize="40dp"
android:background="#99000000"
></com.testing.android.animals.OutlinedTextView>
<com.testing.android.animals.OutlinedTextView
android:id="@ id/label_left_letter"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="E"
android:layout_alignBaseline="@id/label_left_name"
android:layout_alignLeft="@id/label_left_name"
android:textColor="#ffffff"
android:textSize="40dp"
android:background="#99ffffff"
></com.testing.android.animals.OutlinedTextView>
При визуализации это выглядит следующим образом:
Обратите внимание, что отдельная буква «E» (светло-серая) выровнена слишком высоко.
Что я могу изменить в макете, чтобы они лучше перекрывались?
Ответ №1:
Проблема в том, что p делает нижнюю часть полного текста wordview выше. и поскольку у вас есть wrap_content в качестве высоты, две высоты textviews различны.
Если вы установите высоту каждого textview определенного размера (одинакового размера), они должны выровняться.
Но в целом, я думаю, что ваш подход может быть неправильным — возможно, вы захотите либо просмотреть форматируемые строки для форматирования, либо, поскольку, похоже, вы все равно используете пользовательский элемент управления, попросите его выполнить форматирование первой буквы. (вот пример расширяемых строк:http://www.chrisumbel.com/article/android_textview_rich_text_spannablestring )
Комментарии:
1. В итоге я использовал разделяемую строку, которая содержала целое слово «Elephant», но часть «lephant» была прозрачной.