2014-05-05 3 views
0

Я хочу, чтобы отобразить пользовательский текст (в основном лицо информацию) внутри изображенияВставить текст внутри изображений

enter image description here

Как я могу сделать это в Android? Например, у меня есть известный размер этого изображения (он отличается от устройства к устройству) и хочет отображать его с различным размером текста внутри него в специальном месте (пример выше в ссылке).

+0

Я предполагаю, что вы хотите отображать текст поверх изображения? –

+0

Я хочу, чтобы эта часть была прозрачной до и после этого да, попробуйте подобрать текст в этой прозрачной части. Что касается моих знаний из .net, единственным возможным способом является рисование над изображением. –

+0

Посмотрите, как работать с вашими XML-макетами. Перекрытие легко. И настройка зависимостей в соответствии с устройством также проста. – durbnpoisn

ответ

0

Существует несколько способов сделать это.

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

Затем вы просто установите 9-патч в качестве фона для TextView, и ваш текст будет размещен в регионе, отмеченном в 9-патче.

Альтернативным методом было бы использовать RelativeLayout с ImageView и TextView, а затем просто разместите TextView там, где он вам нужен. Тем не менее, я нахожу работу с попыткой позиционировать представления, используя этот метод, чтобы быть утомительным и подверженным ошибкам. 9-патч также позволит вам использовать это изображение практически с любой длиной текста, не беспокоясь о тексте, выходящем за пределы области содержимого.

0

Вы можете установить изображение в качестве фона макета, а затем добавить один или несколько TextView (ы) внутри этого макета и поиграйте с полями немного, пока он не подходит

Например, что-то ищет, как это:

<LinearLayout 
android:background="@drawable/background" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" > 

    <TextView 
    android:id="@+id/firstLine" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical" 
    android:textSize="16sp" /> 

    <TextView 
    android:id="@+id/secondLine" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:maxLines="2" 
    android:textSize="12sp" /> 
</LinearLayout> 
0

Ну, как я предложил в комментарии ранее, положить ImageView и TextView в RelativeLayout, что-то вроде этого (свойства являются случайными):

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/Image" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="20dp" 
     android:layout_weight="0" 
     android:background="#ff1234" 
     android:scaleType="centerCrop" /> 

    <TextView 
     android:id="@+id/name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:layout_below="@id/Image" 
     android:layout_toRightOf="@id/Image" 
     android:layout_weight="1" 
     android:text="6363" 
     android:background="#ff0034" /> 
</RelativeLayout> 
Смежные вопросы