2016-04-05 4 views
0

Ich habe 4 Elemente dynamisch generierte platziert ändern, um ein Haupt LinearLayout enthält: - A TextView (dynamic width) - Ein ImageView (statischen width) - A TextView (dynamic width) - an ImageButton (statische width)Android: Wie die Schwere einer Image in ein dynamisch erzeugten Layout

die 3 ersten Elemente zusammengeklebt werden sollte, und das letzte sollte auf der rechten Seite des Bildschirms schweben.

Name - Rating starts - Number of reviews................. Gmap icon 

Aktuell: Current screen

Erwartet: Expected screen

ich gefunden habe, eine Lösung, die die Breite der erzeugten Produkte zu berechnen und dann diesen Wert mit der Breite eines layout setzen die Elemente enthält, 2 und 3 zusammen.

+0

Bitte posten Sie Ihren aktuellen Screenshot und erwartet eine –

Antwort

0

Sie können versuchen, ein Linearlayout anstelle Ihrem "Gmap Symbol" hinzufügen und geben Sie ihm folgende Einstellungen

LinearLayout layout = new LinearLayout(this); 
layout.setOrientation(LinearLayout.HORIZONTAL); 

layout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); 
layout.setGravity(Gravity.RIGHT); 

und dann in diesem Linearlayout legen Sie Ihre Taste

layout.addView(myImgButton); 
0
<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="50sp" 
android:orientation="horizontal" 
android:weightSum="3" 
> 
<TextView 
    android:layout_width="0sp" 
    android:layout_height="50sp" 
    android:layout_weight="0.5" 
    android:text="Bussiness 1" 
    android:gravity="center" 
    android:background="#000" 
    android:textColor="#FF0000" 
    android:textSize="18sp" 
    /> 
<LinearLayout 
    android:layout_width="0sp" 
    android:layout_height="50sp" 
    android:layout_weight="0.7" 
    android:background="#0000FF" 
    > 
    <ImageView 
     android:layout_width="20sp" 
     android:layout_height="20sp" 
     android:layout_gravity="center|center_horizontal" 
     android:layout_margin="3sp" 
     android:src="@drawable/star" 
     /> 
    <ImageView 
     android:layout_width="20sp" 
     android:layout_height="20sp" 
     android:layout_gravity="center|center_horizontal" 
     android:layout_margin="3sp" 
     android:src="@drawable/star" 
     /> 
    <ImageView 
     android:layout_width="20sp" 
     android:layout_height="20sp" 
     android:layout_gravity="center|center_horizontal" 
     android:layout_margin="3sp" 
     android:src="@drawable/star" 
     /> 
    <ImageView 
     android:layout_width="20sp" 
     android:layout_height="20sp" 
     android:layout_gravity="center|center_horizontal" 
     android:layout_margin="3sp" 
     android:src="@drawable/star" 
     /> 
    <ImageView 
     android:layout_width="20sp" 
     android:layout_height="20sp" 
     android:layout_gravity="center|center_horizontal" 
     android:layout_margin="5sp" 
     android:src="@drawable/star" 
     /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="0sp" 
    android:layout_height="50sp" 
    android:layout_weight="1.8" 
    android:background="#FF0000" 

    android:gravity="right" 
    > 
<ImageView 
    android:layout_width="25sp" 
    android:layout_height="25sp" 
    android:layout_gravity="center" 
    android:src="@drawable/profile" 
    android:layout_marginRight="10sp" 
    /> 
</LinearLayout> 

Sie können die Sichtbarkeit eines Imageview nach Ihren Angaben als VISIBLE/INVISABLE festlegen.

+0

Ich arbeite mit problematischen Ansichten hinzugefügt. –

Verwandte Themen