5

cerco di usare un PercentFrameLayout ma ricevo questo messaggio di errore:PercentFrameLayout: È necessario fornire un attributo layout_width

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

Questo è il xml che uso:

<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> 

Si tratta di un bug o è un mio errore?

+0

Questo è esattamente l'esempio di http://developer.android.com/reference/android/support/percent/PercentFrameLayout.html diverso dall'ordine dei parametri, quindi presumo che sia corretto. Sei sicuro che quelle sono le opinioni con il problema? Se rimuovi queste viste il tuo layout viene caricato correttamente? –

+0

@CoryCharlton si è dal doc e sì è la vista con il problema. Android Studio lo mette in evidenza anche come problema. –

risposta

4

I layout_width e layout_height attributi sono ancora necessari a causa delle specifiche di layout XML, ma sono effettivamente ignorate in un PercentFrameLayout o PercentRelativeLayout.

Non vi resta che impostare i valori per 0dp o wrap_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%" /> 

Questo è simile a l'utilizzo di uno standard LinearLayout con layout_weight dove si deve specificare un layout_width troppo.

+0

Ma il documento dice 'Non è necessario specificare layout_width/height se si specifica layout_widthPercent. –

+0

@RalphBergmann Questo è strano, non ho potuto nemmeno compilare l'XML senza specificare la larghezza/altezza .. Quindi non sono sicuro se i documenti sono corretti. – Floern

+0

Sembra che sia necessario-- Ho provato a omettere larghezza/altezza (senza eccezioni generate), e posso solo farlo funzionare correttamente impostando entrambi i valori su 0dp. – Rachael