1
我爲基於屏幕方向的自定義列表視圖項目設置了不同的高度,並且在下面的代碼中我監聽屏幕方向更改,並根據它,當getView(...)在列表視圖項上被調用時,我設置了轉換視圖的高度。Android:我可以在getView中設置轉換後的視圖佈局()
我的問題是,有沒有比這更好的解決方案?
這種方法對UI加載速度過程有何影響?
我針對API14 +
P.S:(200 & 300)下面在這裏作爲示例加入,它們不是固定在運行時,它們在運行時根據畫面dpi的改變。
int mConvertViewHeight;
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
mConvertViewHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 200, getResources().getDisplayMetrics());
}
else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
mConvertViewHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 300, getResources().getDisplayMetrics());
}
}
在我的列表視圖定製陣列適配器
@Override
public View getView(final int aConvertViewPosition, View aConvertView, ViewGroup parent)
{
mParams = aConvertView.getLayoutParams();
mParams.height = mMainActivity.mConvertViewHeight;
}
這是一個很好的解決方案,但上面的數字(200和300)不是固定的,我在這裏添加它們作爲示例,這些數字根據屏幕dpi而改變。任何其他建議?遠離創建不同dpi的不同文件夾佈局,如sw <200>佈局等。 –
還有更多建議嗎? –