Layout definitie. "U moet een kenmerk layout_width leveren."

Ik ontwikkel een kleine Android-app en ik heb een probleem met een lay-out, ik heb geprobeerd de fout in mijn xml te vinden, maar ik kon het niet vinden ...

De fout die ik krijg is "Je moet een attribuut layout_width" opgeven, maar ik heb het gedaan en het werkt nog steeds niet ...

Hier is mijn XML-bestand:

<?xml version="1.0" encoding="utf-8"?>


    

    

    

    
    




25

6 antwoord

Nee, al uw TextViews hebben layout_height en layout_weight in plaats van layout_height en layout_width (en mogelijk layout_weight). Probeer dit:

<?xml version="1.0" encoding="utf-8"?>


    

    

    

    
    




18
toegevoegd
Wat is het verschil?
toegevoegd de auteur AlikElzin-kilaka, de bron
@ AlikElzin-kilaka De geneste tekstweergaven hebben layout_WEIGHT ... moeten ook layout_WIDTH hebben.
toegevoegd de auteur ComeIn, de bron

In mijn geval vergat ik om het kenmerk layout_width toe te voegen aan een TableLayout.

Het is een beetje verwarrend omdat de TableRow die een kind is van TableLayout geen layout_width nodig heeft, dus ik heb dit probleem aangepakt ...

3
toegevoegd
Ik had een soortgelijk probleem. Als u uw lay-out opblaast vanuit een xml en u als de root van die xml een TableRow hebt, moet u de breedte van de TableRow specificeren.
toegevoegd de auteur Tiago, de bron

Probeer android: layout_width = "wrap_content" toe te voegen aan uw TextViews die dit niet hebben.

3
toegevoegd
Ik gebruikte dit ook altijd, maar gewoonlijk gebruikte ik bij het gebruik van gewicht op verschillende items 0dp, omdat je meestal de breedtes een bepaalde verhouding wilt laten hebben in plaats van de views naar wrap_content op breedte te hebben en dan te vullen de resterende ruimte omhoog met behulp van de gewichten.
toegevoegd de auteur kabuko, de bron
Ik heb dat ook geprobeerd, maar daar heb ik problemen mee gehad. Het werkt meestal, maar af en toe (maar niet consistent) gebeuren rare dingen waar het groter kan worden dan je zou verwachten. Ik heb problemen gehad met dingen die van het scherm werden geduwd.
toegevoegd de auteur kabuko, de bron
Als alternatief voor 0dip gebruik ik vaak fill_parent/match_parent bij het toepassen van gewichten, het lijkt hetzelfde te doen. Maar dat is aan de discretie van OP.
toegevoegd de auteur MrZander, de bron

U moet de breedte en hoogte van de weergave opgeven. Dat is een must. Voor de tekstweergave stelt u alleen de hoogte en het gewicht in. Toevoegen

android:layout_width="0dip"
2
toegevoegd

i think u have not put dp after width size .what why your code might not be working. ex android:layout_weight="20" use this android:layout_weight="20dp"

2
toegevoegd

In mijn geval is android: layout_width = "@ dimen/abc_action_bar_progress_bar_size" ingesteld, maar @ dimen/abc_action_bar_progress_bar_size "was privé". Dus in plaats van te klagen dat je er geen toegang toe hebt, is het blijkbaar geruisloos verwijderd, om erover te klagen dat het later is verdwenen.

1
toegevoegd