0

Hello I want to set programmatically Layout_weight for imageview with kotlin code for be sure layout_weight not weightsum LIKE THE CODE BELOW

    fun stack(x:Int){
        
        
        LinearLayout1.weightSum= 1F
        imageView1.visibility=View.VISIBLE
        imageView2.visibility=View.INVISIBLE
        imageView3.visibility=View.INVISIBLE
        if (x==1) {
            imageView1.visibility=View.VISIBLE
            imageView1.layout_weight=1F  ***//I want this***
            imageView2.visibility=View.INVISIBLE
            imageView3.visibility=View.INVISIBLE
        }
        else if (x==2){
            imageView1.visibility=View.INVISIBLE
            imageView2.visibility=View.VISIBLE
            imageView2.layout_weight=1F    ***//I want this***
            imageView3.visibility=View.INVISIBLE
        }
        else if (x==3){
            imageView1.visibility=View.INVISIBLE
            imageView2.visibility=View.INVISIBLE
            imageView3.visibility=View.VISIBLE
            imageView3.layout_weight=1F  ***//I want this***

        }
        
    }

1 Answers1

0

Use This:

var params = LinearLayout.LayoutParams(
    LayoutParams.MATCH_PARENT,
    LayoutParams.MATCH_PARENT,
    1.0f
)
imageView1.setLayoutParams(params)

in this line: var param = LinearLayout.LayoutParams( We are using LinearLayout because your image view is inside a LinearLayout

Tal Mantelmakher
  • 994
  • 1
  • 7
  • 23
  • When I did it he convert the code to `var params = LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f ) imageView1.layoutParams { params }` and the last code send me wrong in word `layoutParams `of `imageView1.layoutParams { params }` the message is Expression 'layoutParams' of type 'ViewGroup.LayoutParams!' cannot be invoked as a function. The function 'invoke()' is not found – Hussain Adel Alwaely Aug 26 '20 at 15:00
  • Use = params not. {params} – Tal Mantelmakher Aug 26 '20 at 15:29
  • I know it dear , but the problem is I must us `imageview1.setLayoutParams(params)` it works with `setLayout....` thanks a lot dear – Hussain Adel Alwaely Aug 26 '20 at 19:23
  • Glad I could help. Please accept the answer so it easier for other people to find in the future – Tal Mantelmakher Aug 27 '20 at 05:00