androiduser
androiduser

Reputation: 977

How to align ImageView to the right side of the LinearLayout Programmatically android

i want to align an ImageView to the right side of the LinearLayout Programmatically.How can i do this.

Upvotes: 7

Views: 26972

Answers (2)

ahodder
ahodder

Reputation: 11439

You don't. That is not what a linear layout does. Use a RelativeLayout instead.

XML

<RelativeLayout android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, World!"
        android:layout_alignParentRight="true"/>
</RelativeLayout>

Programmatically

public void makeView(Context context) {
    RelativeLayout rl = new RelativeLayout(context);
    TextView tv = new TextView(context);
    tv.setText("Hello, World");

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams
            (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

    rl.addView(tv, lp);
}

Upvotes: 24

Botond Kopacz
Botond Kopacz

Reputation: 942

You can try this:

ImageView view = (ImageView)findViewById(R.id.imageView);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)view.getLayoutParams();
params.gravity = Gravity.LEFT;

But you should use RelativeLayout instead of LinearLayout.

Upvotes: 5

Related Questions