Getting textView margin and setting ImageView margin programatically.

In my current activity i'm trying to get margin of ImageView and write in TextView, but i always recieving "0". Top margin is about 390px.

final ImageView Brick_1 = (ImageView)findViewById(R.id.Brick_1);
int a = Brick_1.getTop();

TextView t = (TextView) findViewById(R.id.tekstas);
t.setText(a+"");

Upvotes: 0

Views: 144

Answers (2)

Piash Sarker
Piash Sarker

Reputation: 466

Getting margin from a view . Use Below code :

final ImageView Brick_1 = (ImageView)findViewById(R.id.Brick_1);
    ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) Brick_1.getLayoutParams();
    int marginTop =  lp.topMargin ;

Setting Margin to a view. Use Below Code:

   TextView t = (TextView) findViewById(R.id.tekstas);

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    /** @Firstparam - left margin
     *  @Second param - top margin
     *  @Third param - right margin
     *  @fourth param - bottom margin
     */
    lp.setMargins(0,marginTop,0, 0);
    t.setLayoutParams(layoutParams);

Upvotes: 1

dralexnumber
dralexnumber

Reputation: 238

You can use like that:

LinearLayout.LayoutParams lp =(LinearLayout.LayoutParams) Brick_1.getLayoutParams();

int margin = lp.topMargin;

Upvotes: 0

Related Questions