2017-01-12 7 views
0

Есть ли простой способ разместить TextView поверх ImageView?Как я могу разместить TextView поверх ImageView

Мой код:

<ImageView 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:src="@drawable/finaloval" 
    android:elevation="10dp" 
    android:layout_centerHorizontal="true" 
    android:id="@+id/greencircleId"/> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Text" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="23dp" 
    android:id="@+id/textView" 
    android:textSize="40sp" 
    android:textColor="@color/colorAccent" /> 

Example Image

зеленый круг был бы мой @ вытяжке/finaloval. И% 100 органических будет TextView.

+1

Попробуйте с помощью 'FrameLayout' в качестве корня –

+0

@juanCruzSoler. Я пробовал, но это не сработало. Спасибо, – Ali

ответ

-1

Попробуйте установить изображение в качестве фона текста.

Вы хотите поместить несколько слов на изображение или резкое изображение?

Я использую форму, пригодную для примера.

Теперь у меня есть форма, как это:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval" 
    > 

    <size 
     android:height="100dp" 
     android:width="100dp" 
     /> 

    <solid 
     android:color="#66ccff" 
     /> 

</shape> 

Затем установите его в качестве фона в TextView в макет XML.

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/circle" 
    android:text="Hello World!" 
    /> 

Это похоже. Это 100dp * 100dp. 100*100

И попытайтесь изменить ширину и высоту текста.

<TextView 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:background="@drawable/circle" 
    android:text="Hello World!" 
    /> 

Теперь это выглядит так. Большой лот. 200*200

Поэтому вывод:

  • Изменить размер вытяжке и использовать wrap_content в макете XML.
  • Измените «layout_width» и «layout_height» в макете xml.

Но если вы хотите использовать меньший или один из них, возможно, вам следует добавить некоторые управляющие коды в файл управления java.

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

Мне очень жаль, что я не Аверс правила перед ответом (Потому что это мой первый ответ) ,

+0

Добавьте объяснение с ответом, как этот ответ поможет OP в устранении текущей проблемы –

+0

Спасибо, но как я могу изменить размер изображения? Я попытался изменить высоту и ширину в файле xml, но он не изменил размер на фактическом main.xml – Ali

+0

@Ali Ответ отредактирован. – KidM

0

Просто используйте LinearLayout в качестве корня и перегруппируйте свои виды сверху вниз, что означает, что в вашем случае должно быть TextView, а затем ImageView.

Edited на основе комментария

Чтобы сделать перекрытие взглядов, вы можете использовать RelativeLayout или FrameLayout, как предложено другими.

Попробуйте это:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:gravity="center_horizontal"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Text" 
    android:layout_marginTop="23dp" 
    android:id="@+id/textView" 
    android:textSize="40sp" 
    android:textColor="@color/colorAccent" /> 

<ImageView 
    android:layout_width="120dp" 
    android:layout_height="120dp" 
    android:src="@drawable/finaloval" 
    android:elevation="10dp" 
    android:id="@+id/greencircleId"/> 

</RelativeLayout> 

Думаю, что это самый простой способ сделать.Надеюсь, что это помогает

+0

Спасибо, но это тоже не сработало. Любая идея почему? – Ali

+0

Можете ли вы показать мне, что вы подразумеваете под «местом TextView поверх ImageView»? Простой рисунок? @Ali – Jiyeh

+0

Еще изображение находится на TextView. В любом случае, спасибо за вашу помощь! – Ali

0
<TextView android:id="@+id/tv_versionstatus" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:drawablePadding="5dp" 
        android:drawableBottom="@drawable/icon_new" 
        android:text="text" 
        android:textColor="#363636" 
        android:textSize="20sp" /> 

drawableBottom также выбор для вас

0
Please try to set the background for the layout and place your textviews inside that , i have coded it as per the image you shared in it example 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:gravity="center_horizontal" 
android:background="@drawable/finaloval"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="100% natural" 
    android:layout_marginTop="23dp" 
    android:id="@+id/natural" 
    android:textSize="20sp" 
    android:textColor="@color/colorAccent" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="organic" 
    android:layout_marginTop="23dp" 
    android:layout_below="@id/" 
    android:id="@+id/natural" 
    android:textSize="40sp" 
    android:textColor="@color/colorAccent" /> 

</RelativeLayout> 
+0

Спасибо, что сработало. Но как я могу изменить размер finaloval.xml? Я пробовал Android: hight & android: width, но он не менял его размер. – Ali

+0

Пожалуйста, примите ответ, для изменения размера овального размера попробуйте добавить прокладку, нужно ли вам пространство сверху, слева или справа. – surya

+0

Попробуйте добавить ширину ширины для относительной компоновки, если у вас есть содержимое основы – surya

0

попробовать этот XML:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:layout_width="120dp" 
     android:layout_height="120dp" 
     android:src="@drawable/finaloval" 
     android:layout_gravity="center" 
     android:elevation="10dp"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Text" 
     android:textSize="40sp" 
     android:layout_gravity="center" 
     android:textColor="@color/text_black" /> 
</FrameLayout> 
Смежные вопросы