это то, что я использую большую часть времени для изменения высоты элементов, и оно подходит для разных устройств.
сначала получите высоту устройства:
public static int getDaviceHeight(Activity activity){
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
height=displayMetrics.heightPixels;
return height;
}
, затем измените высоту элементов:
MapView mapView = (MapView) v.findViewById(R.id.mapView2);
mapView.getLayoutParams().height=(getDaviceHeight(this))/3;
//ofcourse you can change the number and devide the total height as much as you want