Androidは画像幅の高さに応じてコントロール幅の高さを設定します
1070 ワード
この方法は1つのインタフェースの少量のピクチャに適用される.
主な計算式は、現在のコントロールで最大の表示幅(高さ)を得ることです.一般的に画面を塗りつぶすと、画面の幅を直接取ります.得られた幅を画像幅で割って高さで割っても、直接画像幅の高い割合を得ることができる.次の式のように、intを直接使うと計算が不正確になることがあります.幅の高さの後にfを加えてfoltタイプになってx/(width/height)を処理する必要があります.もう一つは、ここで私は小数点以下の5桁を保持するのが一般的です.ここで得られるのは比例で、データ型にこだわらないでください.ratio = wdith/height x/ratio
図は置かないで、自分で試してみれば分かります.上のも記録に相当して、時間が長くなって、忘れるのも怖いです.ネットで探しても、直接レイアウトに属性を設定するなど、効果がありません.
主な計算式は、現在のコントロールで最大の表示幅(高さ)を得ることです.一般的に画面を塗りつぶすと、画面の幅を直接取ります.得られた幅を画像幅で割って高さで割っても、直接画像幅の高い割合を得ることができる.次の式のように、intを直接使うと計算が不正確になることがあります.幅の高さの後にfを加えてfoltタイプになってx/(width/height)を処理する必要があります.もう一つは、ここで私は小数点以下の5桁を保持するのが一般的です.ここで得られるのは比例で、データ型にこだわらないでください.ratio = wdith/height x/ratio
DisplayMetrics dm = getActivity().getResources().getDisplayMetrics();
// , ,
int marWidth = DisplayUtil.dip2px(getContext(),16);
// int mHeight = (int) ((dm.widthPixels-marWidth*2)/(340f/110f));
int mHeight = (int) ((dm.widthPixels-marWidth*2)/3.09091);
// , , , 。
// int mWidth = dm.widthPixels;
ViewGroup.LayoutParams params = imageView.getLayoutParams();
// params.width = mWidth;
params.height = mHeight;
imageView.setLayoutParams(params);
図は置かないで、自分で試してみれば分かります.上のも記録に相当して、時間が長くなって、忘れるのも怖いです.ネットで探しても、直接レイアウトに属性を設定するなど、効果がありません.