5

我嘗試使用PercentFrameLayout但我收到此錯誤信息:PercentFrameLayout:必須提供layout_width屬性

Binary XML file line #: You must supply a layout_width attribute. 

這是我使用xml:

<android.support.percent.PercentFrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     app:layout_heightPercent="50%" 
     app:layout_marginLeftPercent="25%" 
     app:layout_marginTopPercent="25%" 
     app:layout_widthPercent="50%"/> 
</android.support.percent.PercentFrameLayout> 

這是一個錯誤或這是我的錯誤嗎?

+0

這看起來和http://developer.android.com/reference/android/support/percent/PercentFrameLayout.html中的參數不同,因爲我認爲它是正確的。你確定這些是對問題的看法嗎?如果您刪除這些視圖,您的佈局是否正確加載? –

+0

@CoryCharlton是的,它來自文檔,是的,它是與問題的看法。 Android Studio也強調它也是一個問題。 –

回答

4

layout_widthlayout_height屬性仍然需要由於XML佈局規範,但在PercentFrameLayoutPercentRelativeLayout實際上被忽略。

你只需要值設置爲0dpwrap_content

<ImageView 
    android:layout_height="0dp" 
    android:layout_width="0dp" 
    app:layout_heightPercent="50%" 
    app:layout_marginLeftPercent="25%" 
    app:layout_marginTopPercent="25%" 
    app:layout_widthPercent="50%" /> 

這是類似的標準LinearLayoutlayout_weight使用,你必須指定一個layout_width了。

+0

但是文檔說'如果指定layout_widthPercent,沒有必要指定layout_width/height。 –

+0

@RalphBergmann這很奇怪,我甚至無法編譯XML而沒有指定寬度/高度。所以我不確定是否該文檔是正確的。 – Floern

+0

看起來像是必要的 - 我試過忽略寬度/高度(沒有例外拋出),並且只能通過將兩個值都設置爲0dp來正確呈現它。 – Rachael

相關問題