2017-10-12 71 views
1

我該如何解決這個錯誤。基本上,圖像與文字重疊。 我們可以在XML中解決這個問題嗎?Android:如何修復重疊我的文字的圖像?

這是代碼(當然,它是不完整的)。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFCC0000" 
    > 

    <TextView 
     android:background="#55000000" 
     android:id="@+id/centerButton" 
     android:text="RELATIVE LAYOUT RULES!" 
     android:textSize="33dp" 
     android:textColor="#FFFFFF" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true"/> 

    <Button 
     android:layout_margin="40dp" 
     android:padding="20dp" 
     android:layout_below="@+id/centerButton" 
     android:layout_centerInParent="true" 
     android:text="PUSH ME!" 
     android:textSize="30dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/button4" /> 

    <ImageView 
     android:scaleType="centerInside" 
     android:id="@+id/imageView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/Cat" 
     android:layout_above="@+id/centerButton" 
     android:layout_alignParentStart="true" 
     android:layout_marginBottom="39dp" /> 


</RelativeLayout> 

屏幕截圖的錯誤: Error

+0

這可能有所幫助:https://stackoverflow.com/questions/19065232/placing-a-textview-on-top-of-imageview-in-android – zb22

+0

@Xedon你能分享@ drawable /貓圖像 –

+0

貌似你的textview是在imageview後面。嘗試將textview代碼放在xml中的imageview下面。這會將textview帶到圖像的前端 – Simo

回答

1

更改順序的TextView - > ImageView的到的ImageView - > TextView的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFCC0000" 
    > 

    <ImageView 
     android:scaleType="centerInside" 
     android:id="@+id/imageView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/Cat" 
     android:layout_above="@+id/centerButton" 
     android:layout_alignParentStart="true" 
     android:layout_marginBottom="39dp" /> 


    <TextView 
     android:background="#55000000" 
     android:id="@+id/centerButton" 
     android:text="RELATIVE LAYOUT RULES!" 
     android:textSize="33dp" 
     android:textColor="#FFFFFF" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true"/> 

    <Button 
     android:layout_margin="40dp" 
     android:padding="20dp" 
     android:layout_below="@+id/centerButton" 
     android:layout_centerInParent="true" 
     android:text="PUSH ME!" 
     android:textSize="30dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/button4" /> 



</RelativeLayout> 
1

不知道你說的完全尋找,但我能想到的兩個快速的解決方案:

首先,你需要改變TextViewid標記爲其他內容,它目前與您的Button具有相同的id,這是不好的。我想你的意思是centerText

1.您希望TextView出現在ImageView

爲了實現這一目標,你實際上只需將TextView XML元素移動ImageView元素下面。由於視圖是按照XML佈局從上到下的順序「分層次」的,因此這會將TextView置於ImageView之上。

2.您希望ImageView根本就沒有重疊TextView

你可以改變android:layout_above="@+id/centerButton"android:layout_above="@+id/centerText"其中centerText是你TextView與課程的修正id標籤。

希望能解決您的問題!如果沒有,請更具體地說明您要達到的目標!

0

的Android吸取其他其他的佈局,從頂部到XML文件的底部。如果你想要上面的TextView繪圖,你需要把它帶到底部。