BETA

ScrollViewの中のViewPagerにwrap_content的な高さをもたせたい

投稿日:2020-02-13
最終更新:2020-02-13

https://qiita.com/yuzumone/items/d14e54f2a010264c4385

class WrapContentHeightViewPager : ViewPager {  
    constructor(context: Context) : super(context)  
    constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)  

    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {  
        var updatedHeightMeasureSpec = heightMeasureSpec  
        super.onMeasure(widthMeasureSpec, updatedHeightMeasureSpec)  
        var height = 0  
        for (i in 0 until childCount) {  
            val child: View = getChildAt(i)  
            child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED))  
            val h: Int = child.measuredHeight  
            if (h > height) height = h  
        }  
        updatedHeightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)  
        super.onMeasure(widthMeasureSpec, updatedHeightMeasureSpec)  
    }  
}  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@tantanの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう