Android TextView hat eine Höhe und Breite von 0

Ich habe ein kleines Projekt wo ich will, um die Wiederverwendung einer bestimmten UI-Komponente ein paar mal, so dass ich erstellt ein widget, durch den ausbau einer ViewGroup. In diesem ViewGroup ich aufgeblasen, eine Ansicht, die eine TextView innerhalb eines LinearLayout Hinzugefügt und diesen aufgeblasenen Blick auf die ViewGroup Trog addView.

Den äußeren LinearLayout weitet sich perfekt, aber die innere TextView haben getHeight() = 0 und getWith() = 0 wenn ich es durch Hierarchie-Viewer. Das merkwürdige ist, dass layout_height und layout_width die Werte, die ich gab Ihnen meine xml.

Habe ich nicht den code hier ein, aber es sah so etwas wie dieses:

xml:

<LinearLayout  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent">  

    <TextView  
        android:text="random text.."  
        android:layout_with="200px"  
        android:layout_height="50px" />  
</LinearLayout>  

Java:

class MyWidget extends ViewGroup {
...

//In constructor  
myView = View.inflate(context, R.layout.xml, null);  
addView(myView);  

//In layout  
myView.layout(l, t, r, b);  

Habe ich versucht zu geben, mein text anzeigen fill_parent Werte für die Größe, aber es hat nicht geholfen.

Kommentar zu dem Problem
haben Sie versucht, in der Hierarchie-Viewer zu zwingen, ein layout Wunsch? wenn es macht die textview zeigen, dann sind Sie wahrscheinlich vor einer framework-Fehler (das sollte gelöst werden in der API - > 8 AFAIK). Kommentarautor: bigstones
Nein, ich wusste nicht, ich könnte das tun. Werde versuchen, wenn ich wieder später. Ich habe allerdings versuchen, eine forceLayout() von in mein widget ein paar mal und das hat nicht geholfen. Kommentarautor: MrFroYo
Vielleicht sollten Sie LinearLayout.LayoutParams(int width, int height) und legen Sie es auf Ihrem TextView? Kommentarautor: Anton Derevyanko
Ich denke, Sie haben zu nennen, Messen(...,...) Kommentarautor: Damian Kołakowski
Die TextView layout_width fehlt ein - d. Dass wahrscheinlich nicht helfen. Kommentarautor: thegrinner

InformationsquelleAutor der Frage MrFroYo | 2011-04-28

Schreibe einen Kommentar