ビューを動的に(水平または垂直に)連続して追加したい。各ビューには、固定サイズと固定パディングがあります。デバイスの画面サイズに応じて動的に追加できるビューの数を決定するにはどうすればよいですか。たとえば、小型の電話やmdpiを使用すると、xhdpiデバイスと比較して追加されるビューの数が少なくなる可能性があります。
ありがとう。
ビューを動的に(水平または垂直に)連続して追加したい。各ビューには、固定サイズと固定パディングがあります。デバイスの画面サイズに応じて動的に追加できるビューの数を決定するにはどうすればよいですか。たとえば、小型の電話やmdpiを使用すると、xhdpiデバイスと比較して追加されるビューの数が少なくなる可能性があります。
ありがとう。
いくつかの異なる方法があります。
まず、getWidth()とgetHeight()を呼び出すことで、コンテナーのサイズを確認できます。ビューでは、onMeasure()をオーバーライドできます。
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
}
画面サイズに基づいて異なるXMLレイアウトがある場合は、それらの1つがロードされているかどうかを確認し、それに応じて動作することができます。