Wie programmiere ich die Breite des LinearLayouts?

8

Ist die Quelle des Schiebereglers und des Unterrichtslink:

Ссылка

In diesem Fall hat die Breite der Datei "left_menu.xml" TextView bestimmt (android: layout_width="260dp") Wie stelle ich die Breite auf "LinearLayout" Datei "left_menu.xml" je nach Gerät Bildschirm? Zum Beispiel möchte ich die Breite des "LinearLayout" war immer 1/3 des Bildschirms Gerät? Oder eine Möglichkeit, die Breite des TextView 1/3 der Breite des Gerätebildschirms einzustellen.

    
GAAAN 12.01.2015, 13:25
quelle

5 Antworten

16

Um die LinearLayout oder TextView Breite auf 1/3 des Gerätebildschirms einzustellen:

Holen Sie sich zunächst die Bildschirmbreite des Geräts:

%Vor%

Erstellen Sie jetzt einfach ein LayoutParams und setzen Sie es auf den Text:

%Vor%     
Muhammed Refaat 12.01.2015, 14:47
quelle
4
%Vor%

Wie Sie sehen, können Sie Integer-Werte für den LinearLayout.LayoutParams () - Konstruktor wie folgt festlegen:

%Vor%

Der Kostruktor benötigt Pixel und nicht dp (Dichtepixel), hier ist eine Formel, um PXs von DPs zu konvertieren:

%Vor%     
saimOneFcs 12.01.2015 14:15
quelle
3
%Vor%     
quelle
0
%Vor%     
Kapil Parmar 22.01.2018 12:31
quelle
0

Die obigen Antworten sind korrekt. Ich werde zukünftigen Lesern nur empfehlen, sich ihre XML-Layoutdatei anzusehen und sicherzustellen, dass das LinearLayout-Element kein Gewichtsattribut verwendet. In diesem Fall sollten Sie das Gewicht in Ihrem LayoutParams-Objekt aktualisieren. Eine weitere gute Methode besteht darin, das Layoutparameterobjekt aus der Ansicht abzurufen, die Sie anzupassen versuchen, anstatt eine neue Vorlage zu erstellen und alle Werte festzulegen.

    
Saulo Aguiar 23.01.2018 17:31
quelle

Tags und Links