Android – Layout_Gravity programmgesteuert für LinearLayout einstellen

Ich habe folgendes Problem: Ich habe ein HorizontalScrollView implementiert, das in einem Fall ein LinearLayout und ein ImageView . In diesem Fall beträgt das Bild etwa 50% der Bildschirmbreite. Also möchte ich es zentrieren Leider ist der einzige Weg, den ich gefunden habe, es zu layout_gravity="center" , um das layout_gravity="center" auf dem LinearLayout .

Hier ist mein xml:

 <HorizontalScrollView android:layout_gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:src="@drawable/myImg" android:layout_width="wrap_content" android:adjustViewBounds="true" android:layout_height="150dp"/> </LinearLayout> </HorizontalScrollView> 

Aber ich muss die layout_gravity programmgesteuert layout_gravity . Hat jemand eine Idee, wie ich das erreichen kann oder weiß anders? Alle Sachen, die ich über Google gefunden habe, arbeiten für mich nicht wie diese Post .

Vielen Dank!

  • Wie kann man LinearLayout programmgesteuert im Rahmen von FrameLayout setzen?
  • Warum wird die Ansicht mit ViewDragHelper auf ihre ursprüngliche Position auf dem Layout () zurückgesetzt?
  • Fit Image in ImageButton in Android
  • Facebook Sdk wurde nicht initilisiert
  • Ist ein RelativeLayout teurer als ein LinearLayout?
  • LayoutAnimation funktioniert nur einmal
  • ScrollView> LinearLayout> PreferenceFragment ist null Höhe
  • Android-Layout-Vorschauer wirft Fehler beim Hinzufügen von benutzerdefiniertem LinearLayout
  • 3 Solutions collect form web for “Android – Layout_Gravity programmgesteuert für LinearLayout einstellen”

    Mache so etwas wie

      LayoutParams lp = new LayoutParams(); lp.gravity= Gravity.CENTER_HORIZONTAL; myImg.setLayoutParams(lp); 

    UPDATE: Eine andere Möglichkeit, dies zu tun:

     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.weight = 1.0f; params.gravity = Gravity.CENTER; imageView.setLayoutParams(params); 

    Setzen Sie die ImageView in eine FrameLayout wie FrameLayout :

    Extracode extrahiert

     ImageView image = new ImageView(mContext); image.setLayoutParams(new FrameLayout.LayoutParams(width, height, gravity)); 

    Mehr Infos hier .

    Ich denke, das wird für dich arbeiten

     FrameLayout.LayoutParams layoutParams = new ScrollView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams1.gravity(YourGravity); yourImage.setLayoutParams(layoutParams); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.