我正在開(kāi)發(fā)我的應(yīng)用程序,它要求電影海報(bào)的比例為 1:2。我找到了一種方法來(lái)做到這一點(diǎn)是運(yùn)行 movieAdapterViewHolder.posterview.requestLayout(); ViewTreeObserver viewTreeObserver = movieAdapterViewHolder.cardview.getViewTreeObserver(); if (viewTreeObserver.isAlive()) { viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) @Override public void onGlobalLayout() { movieAdapterViewHolder.cardview.getViewTreeObserver().removeOnGlobalLayoutListener(this); movieAdapterViewHolder.posterview.getLayoutParams().height = Double.valueOf(movieAdapterViewHolder.posterview.getWidth() * 1.5).intValue(); } }); }但是,這不會(huì)在旋轉(zhuǎn)時(shí)立即調(diào)用。它只會(huì)從onBindViewHolder. 有沒(méi)有其他方法可以將 RecyclerView 中 CardView 的高度設(shè)置為其寬度的 2 倍,或者我如何以某種方式調(diào)用 onBindViewHolder?
旋轉(zhuǎn)時(shí)自動(dòng)調(diào)用 onBindViewHolder
尚方寶劍之說(shuō)
2021-10-20 15:16:27