2017-04-16 11 views
0

あなたもそれを知っているかもしれませんが、あなたはこのようなコードでPercentRelativeLayoutのwidthPercentを変更することができます。アンドロイド(固定アスペクト比で)プログラム的PercentRelativeLayoutのwidthPercentを設定すると、正しく高さを更新しません

PercentRelativeLayout.LayoutParams params = ((PercentRelativeLayout.LayoutParams) view.getLayoutParams()); 
PercentLayoutHelper.PercentLayoutInfo paramsInfo = params.getPercentLayoutInfo(); 
paramsInfo.widthPercent = newWidthPercent; //e.g. change form 0.5 to 0.9 
paramsInfo.aspectRatio = 1; 

が、目で(例えば、アスペクト比が1に等しいので同じ幅と高さを期待しますが、高さは同じです)

そう、私たちはそれをどのように達成しましたか?

答えて

0

私はstackoverflowとgoogleで多くを検索しましたが、同様の質問と回答が見つからないので、同じ問題に直面している他の開発者のQ/Aとしてここに投稿することにしました。 params変数の(heightPercentを設定する場合は高さ)を(0)に設定する必要があります。ここには完全な解決策があります:

PercentRelativeLayout.LayoutParams params = ((PercentRelativeLayout.LayoutParams) view.getLayoutParams()); 
PercentLayoutHelper.PercentLayoutInfo paramsInfo = params.getPercentLayoutInfo(); 
paramsInfo.widthPercent = newWidthPercent; 
paramsInfo.aspectRatio = 1; 
params.height = 0; 

そして期待どおりの高さに更新します!

関連する問題