Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set view weights?

I'm trying to get the views inside a LinearLayout to fill the width. I have tried setting it by using LayoutParams, but it gave me an error:

My code:

EditText et = new EditText(v.getContext());
                    et.setHint("asset ");
                    et.setTextSize(12);
                    et.setLayoutParams(new LayoutParams(
                            LayoutParams.WRAP_CONTENT,
                            LayoutParams.WRAP_CONTENT, 0.25f));
                    et.setPadding(0, 15, 0, 10);

The error:

The constructor ActionBar.LayoutParams(int, int, float) is undefined

like image 826
kyokotsu Avatar asked Dec 15 '22 10:12

kyokotsu


2 Answers

Just what the error says, no ActionBarLayoutParams constructor takes a float. You need one of the available graivty constants for the gravity

But it looks like you are importing the wrong LayoutParams. If this is for a LinearLayout and not ActionBar then you need to be importing LinearLayout.LayoutParams

import android.widget.LinearLayout.LayoutParams

ActionBar.LayoutParams

LinearLayout.LayoutParams

like image 75
codeMagic Avatar answered Dec 18 '22 00:12

codeMagic


change your import to use LinearLayout.LayoutParams not ActionBar.LayoutParams

or change code

et.setLayoutParams(new LayoutParams(
     LayoutParams.WRAP_CONTENT,
     LayoutParams.WRAP_CONTENT, 0.25f));

to

et.setLayoutParams(new LinearLayout.LayoutParams(
     LinearLayout.LayoutParams.WRAP_CONTENT,
     LinearLayout.LayoutParams.WRAP_CONTENT, 0.25f));
like image 21
petey Avatar answered Dec 17 '22 22:12

petey